小编Chr*_*cho的帖子

重复Java数组

我是java的新手,还在学习,所以记住这一点.我正在尝试编写一个程序,用户可以在其中输入关键字,然后将其转换为数字并将其放入数组中.我的问题是数组需要不断重复int.

我的代码是:

String keyword=inputdata.nextLine();
int[] key = new int[keyword.length()];
for (int k = 0; k < keyword.length(); ++k)
{
    if (keyword.charAt(k) >= 'a' && keyword.charAt(k) <= 'z')
    {
        key[k]= (int)keyword.charAt(k) - (int)'a';
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我试图得到任何key[i]高于keyword.length它会抛出outofbounds错误.我需要它才能成为infinte.

所以基本上,如果keyword.length()是3,我需要能够看到,如果key[2]是一样的key[5],并key[8]等.

谢谢你的帮助!

java arrays loops

8
推荐指数
1
解决办法
130
查看次数

在没有注入$ rootScope的情况下对指令中的角度事件做出反应

我想知道你是否有一个指令代码的例子,它对角度事件做出反应,比如$routeChangeError没有注入$rootScope它(用于$on链接函数).它打破了我的观点MV*模式和"产生"气味代码(给出了在指令中操纵根范围的可能性).提前致谢.

javascript angularjs angularjs-directive angularjs-scope

8
推荐指数
3
解决办法
2万
查看次数

如何在新的virtualenv上安装PyQt5并处理IDLE

我使用官方河岸网站提供的安装程序在我的win7系统(python 3.3)上全局安装了PyQt5.

然后我创建了一个新的–no-site-packagesvirtualenv,其中我在打字后看到的唯一的东西pip list是pip(1.4)和setuptools(0.9.7).

然而现在的问题是,我需要在那里安装完整的PyQt5,这似乎不可能使用pip工具.

无论pip install sippip install PyQt5虚拟环境内部正在返回的错误.

有人可以提供一个"如何"指导我应该怎么做?

我还希望能够在IDLE中使用PyQt5(新的virtualenv),所以我将tcl文件夹从我的Python的全局安装复制我的虚拟环境位置,并创建了一个快捷方式定位:{location of my virtual enviroment}\Scripts\pythonw.exe C:\Python33\Lib\idlelib\idle.pyw所以我可以打开virtualenv IDLE而不是全球IDLE.(希望我没有做错任何事情......请纠正.)

python pip pyqt virtualenv pyqt5

7
推荐指数
2
解决办法
2万
查看次数

OpenType小型大写的CSS回退

我正在一个小型帽子很重要的网站上工作:设置圣经的文本.在旧约圣经中,上帝的名字被音译为Lord但不是小的LORD.但是,目前OpenType小型大写支持的状态是......不是最优的.Safari(甚至通过优胜美地的Safari 8,我正在输入它)仍然不支持该-webkit-font-feature-settings: 'smcp'选项,并且该网站的很多点击将来自移动.

不幸的是,"优雅降级"在这里是有问题的:如果你指定两者font-variant: small-caps并且font-feature-settings: 'smcp'在支持后者的浏览器中(例如Chrome),font-variant声明会覆盖它,因此可怕的丑陋的旧式版本仍然会发挥作用.(注意:这应该符合规范:font-variant声明的优先级高于font-feature-settings声明).鉴于目前实施的font-variant: small-caps虽然缩减的资本而不是实际的小资本 - 结果是使用font-variant: small-caps现实主义者不那么优雅地降低了每个人的阅读体验.

在过去,我已经将小型瓶盖作为独特的webfont导出并直接指定它们; 看一下这个帖子的一个简单例子:每个段落的第一行都是这样指定的.

虽然我可以在这里做同样的事情(至少在理论上可以提供一个非常小的字体,因为我真的只需要三个大字:o,r,和d),我只是喜欢让理智的回退.然而,如上所述,这是不可能的.我愿意接受,但非常希望避免使用服务器端解决方案(浏览器检测等)作为最小化的复杂点,特别是考虑到浏览器的变化速度.如何才能解决这个问题,尤其是现有的解决方案呢?

编辑:根据评论澄清 - 将来,font-variant: small-caps将很好地处理这个,根据规范,如果字体提供它应该显示字体的小型变体.但是,目前没有浏览器支持这一点(至少我没有找到!).这意味着相反,它们只是通过缩小实际资本来渲染虚假的小资本.结果是印刷上令人不愉快的,并且在这个项目上是不可接受的.

graceful-degradation css3 opentype webfonts font-face

7
推荐指数
1
解决办法
2305
查看次数

如何在python中使用枚举?

我有一个枚举声明如下:

typedef enum mail_ {
 Out = 0,
 Int = 1,
 Spam = 2
} mail;
Run Code Online (Sandbox Code Playgroud)

功能:

mail status;
int fill_mail_data(int i, &status);
Run Code Online (Sandbox Code Playgroud)

在上面的函数中,status填充并将发送.

当我通过swig尝试这个时,我面临以下问题:

  1. 它没有显示细节mail.当我尝试打印mail.__doc__ 或者help(mail),它抛出一个错误,说没有这样的属性,虽然我虽然能够使用这些值(Spam,In,和Out).
  2. 如上所示,Swig不知道是什么main,所以它不接受任何函数参数mail.

python enums swig

6
推荐指数
1
解决办法
2265
查看次数

为什么在将一种元素替换为另一种元素时,replaceChild()表现得很奇怪?

我在javascript上比较新,发现了一个我今天无法解释的有趣行为.我<hr>在网站上有一个自定义(有一个图像),在IE7及以下显示奇怪.为了克服这个问题,我想replaceChild()结合使用getElementsByTag().最初,我只是试图遍历列表,所以:

var hrules = document.getElementsByTagName('hr');
for (var i=0; i < hrules.length; i++) {

   var newHrule = document.createElement("div");
   newHrule.className = 'myHr';

   hrules[i].parentNode.replaceChild(newHrule, hrules[i]);

   document.write(i);
}
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用:它实际上只获得了一半的元素,跳过了其他元素.打印i给出<hr>文档中实际元素数量的半整数值(例如,如果有7个<hr/>元素,则打印4个.相比之下,以下操作:

var hrules = document.getElementsByTagName('hr');
var i = 0;
while (i < hrules.length) {

   var newHrule = document.createElement("div");
   newHrule.className = 'myHr';

   hrules[i].parentNode.replaceChild(newHrule, hrules[i]);

   document.write(i);
}
Run Code Online (Sandbox Code Playgroud)

i打印的次数与文档中的hrules相同(但当然总是0,因为我没有递增),并且正确更换了hrules.我认识到while这里也可能while(true)- 直到它耗尽<hr>元素,但似乎在此之后停止(它不再打印0).

我已经尝试了许多不同类型的元素,并观察到只有在用一种元素替换另一种元素时才会发生这种情况.即,替换p …

javascript

5
推荐指数
1
解决办法
2356
查看次数

为了在C++中调试,如何声明一个不被优化的变量(放入寄存器)?

我正在用C++/Qt开发一个简单的应用程序,我有以下声明:

QGridLayout *layout = new QGridLayout;

我正在使用gdb调试应用程序.我设置了一个断点,它运行正常,调试器就行了.但是,如果我尝试检查上面声明的对象,我得到这个输出:

-data-evaluate-expression --thread 1 --frame 0 layout 
^done,value="<value> optimized out>"
Run Code Online (Sandbox Code Playgroud)

我读到这条消息,"<value> optimized out>"是因为编译器对代码进行了优化,并将数据放入寄存器中.我正在使用g ++编译器,设置了flag -O0(无优化).

是否存在我缺少的东西,或者它是否存在一种声明变量不被优化的方式,比如存储说明符register?我在Ubuntu 10.10 Maverick,内核2.6.35-24.

EDIT1

更多代码:

WorkspaceChooserDialog::WorkspaceChooserDialog(QWidget *parent) : QDialog(parent)
{
    setWindowTitle(tr("Select a workspace location"));
    QLabel *wpLabel = new QLabel(tr("Workspace:"), this);
    QLineEdit *wpLineEdit = new QLineEdit(QDir().homePath(), this);
    QPushButton *okButton = new QPushButton(tr("OK"), this);
    QPushButton *cancelButton = new QPushButton(tr("Cancel"), this);
    QGridLayout *layout = new QGridLayout;

    connect(okButton, SIGNAL(clicked()), this, SLOT(accept()));
    connect(cancelButton, …
Run Code Online (Sandbox Code Playgroud)

c++ compiler-construction optimization gdb

5
推荐指数
1
解决办法
4369
查看次数

约束 wxPython MultiSplitterWindow 窗格

编辑:我将问题保持原样,因为它仍然是一个好问题,答案可能对其他人有用。但是,我会注意到,我通过使用完全不同的方法找到了解决我的问题的实际方法AuiManager;请参阅下面的答案

我正在进行MultiSplitterWindow设置(在花了大量时间与SashLayoutWindow布局怪癖作斗争之后)。不幸的是,当我创建一个 时MultiSplitterWindow,我在拖动窗扇时看到了一些意想不到的行为:窗扇可以沿着布局的方向拖到包含窗口之外。至少可以说,这是我想避免的行为。

这是基本的设置(可以确认以下的wxPython的演示行为,只是取代leftwinPanel1,等等,也请参阅下面的示例应用程序)。在我拥有的地方RootPanel/BoxSizer,有一个面板(或Frame,或您喜欢的任何类型的容器元素),BoxSizer 其中MultiSplitterWindow添加了 a - 再次,如演示中一样。

+--------------------------------+
|       RootPanel/BoxSizer       |
|+------------------------------+|
||     MultiSplitterWindow      ||
||+--------++--------++--------+||
||| Panel1 || Panel2 || Panel3 |||
|||        ||        ||        |||
||+--------++--------++--------+||
|+------------------------------+|
+--------------------------------+
Run Code Online (Sandbox Code Playgroud)

当你拖动时,你可能会得到这样的结果,在那里~! 指示面板“存在”但没有显示:

+--------------------------------+
|       RootPanel/BoxSizer       |
|+-------------------------------|~~~~~~~~~~~~~+
||           MultiSplitterWindow |             !
||+-----------------++-----------|~~++~~~~~~~~+!
|||      Panel1     ||   Panel2  |  !! Panel3 !!
|||                 || …
Run Code Online (Sandbox Code Playgroud)

python layout wxpython

5
推荐指数
1
解决办法
1059
查看次数

在有和没有UNICODE支持的情况下,如何在我的程序中使用_stprintf?

微软的<TCHAR.H>定义_stprintfswprintf如果_UNICODE被定义,并且sprintf如果不是.但这些功能有不同的论点!在swprintf,第二个参数是缓冲区大小,但sprintf没有这个.

有人蠢蠢欲动吗?如果是这样,这是一个很大的问题.我如何_stprintf在我的程序中使用它,让它们可以使用和不使用它们_UNICODE

c windows unicode

4
推荐指数
1
解决办法
7845
查看次数

Visual Studio C++ 2010 __argv 怎么可能是空指针?

int _tmain(int argc, _TCHAR* argv[])
{

    if (argc != 3) {
        printf("Format is straightline.exe <EO records file> <output file>");
        return 1;
    }
    string eoPath = string(__argv[1]);
    //...other stuff ...
}
Run Code Online (Sandbox Code Playgroud)

如果__argc == 3,怎么可能__argv是空指针呢?

当我试图引用时,我的调试器告诉我,它__argv指向0x00000000程序崩溃后__argv[1](并且我已经验证了这一点__argc == 3)。这是一个最小的程序,它发生在我进行任何处理之前的开始。

visual-studio-2010 argv visual-c++

4
推荐指数
1
解决办法
3297
查看次数