我是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]等.
谢谢你的帮助!
我想知道你是否有一个指令代码的例子,它对角度事件做出反应,比如$routeChangeError没有注入$rootScope它(用于$on链接函数).它打破了我的观点MV*模式和"产生"气味代码(给出了在指令中操纵根范围的可能性).提前致谢.
我使用官方河岸网站提供的安装程序在我的win7系统(python 3.3)上全局安装了PyQt5.
然后我创建了一个新的–no-site-packagesvirtualenv,其中我在打字后看到的唯一的东西pip list是pip(1.4)和setuptools(0.9.7).
然而现在的问题是,我需要在那里安装完整的PyQt5,这似乎不可能使用pip工具.
无论pip install sip和pip install PyQt5虚拟环境内部正在返回的错误.
有人可以提供一个"如何"指导我应该怎么做?
我还希望能够在IDLE中使用PyQt5(新的virtualenv),所以我将tcl文件夹从我的Python的全局安装复制到我的虚拟环境的位置,并创建了一个快捷方式定位:{location of my virtual enviroment}\Scripts\pythonw.exe C:\Python33\Lib\idlelib\idle.pyw所以我可以打开virtualenv IDLE而不是全球IDLE.(希望我没有做错任何事情......请纠正.)
我正在一个小型帽子很重要的网站上工作:设置圣经的文本.在旧约圣经中,上帝的名字被音译为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将很好地处理这个,根据规范,如果字体提供它应该显示字体的小型变体.但是,目前没有浏览器支持这一点(至少我没有找到!).这意味着相反,它们只是通过缩小实际资本来渲染虚假的小资本.结果是印刷上令人不愉快的,并且在这个项目上是不可接受的.
我有一个枚举声明如下:
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尝试这个时,我面临以下问题:
mail.当我尝试打印mail.__doc__ 或者help(mail),它抛出一个错误,说没有这样的属性,虽然我虽然能够使用这些值(Spam,In,和Out).main,所以它不接受任何函数参数mail.我在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 …
我正在用C++/Qt开发一个简单的应用程序,我有以下声明:
QGridLayout *layout = new QGridLayout;
我正在使用gdb调试应用程序.我设置了一个断点,它运行正常,调试器就行了.但是,如果我尝试检查上面声明的对象,我得到这个输出:
Run Code Online (Sandbox Code Playgroud)-data-evaluate-expression --thread 1 --frame 0 layout ^done,value="<value> optimized out>"
我读到这条消息,"<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) 编辑:我将问题保持原样,因为它仍然是一个好问题,答案可能对其他人有用。但是,我会注意到,我通过使用完全不同的方法找到了解决我的问题的实际方法AuiManager;请参阅下面的答案。
我正在进行MultiSplitterWindow设置(在花了大量时间与SashLayoutWindow布局怪癖作斗争之后)。不幸的是,当我创建一个 时MultiSplitterWindow,我在拖动窗扇时看到了一些意想不到的行为:窗扇可以沿着布局的方向拖到包含窗口之外。至少可以说,这是我想避免的行为。
这是基本的设置(可以确认以下的wxPython的演示行为,只是取代leftwin了Panel1,等等,也请参阅下面的示例应用程序)。在我拥有的地方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) 微软的<TCHAR.H>定义_stprintf为swprintf如果_UNICODE被定义,并且sprintf如果不是.但这些功能有不同的论点!在swprintf,第二个参数是缓冲区大小,但sprintf没有这个.
有人蠢蠢欲动吗?如果是这样,这是一个很大的问题.我如何_stprintf在我的程序中使用它,让它们可以使用和不使用它们_UNICODE?
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)。这是一个最小的程序,它发生在我进行任何处理之前的开始。