在Java中将ASCII值转换为字符
我目前正在做一项作业,我必须解密一个秘密短语,但根据ASCII值运行并打印100种不同的可能性。我已经走到了这一步,我相信我所拥有的应该是可行的,但当我运行程序时,它不会打印任何内容,只是说构建成功了。下面是我的代码:在Java中将ASCII值转换为字符,java,ascii,Java,Ascii,我目前正在做一项作业,我必须解密一个秘密短语,但根据ASCII值运行并打印100种不同的可能性。我已经走到了这一步,我相信我所拥有的应该是可行的,但当我运行程序时,它不会打印任何内容,只是说构建成功了。下面是我的代码: public static void main(String[] args) { String phrase = ":mmZ\\dxZmx]Zpgy"; int value; for (int key = 1; key >= 100; key++){
public static void main(String[] args) {
String phrase = ":mmZ\\dxZmx]Zpgy";
int value;
for (int key = 1; key >= 100; key++){
for (int i = 0; i > 15; i++ ){
int ascii = (int) phrase.charAt(i);
if(ascii + key > 126){
value = ((ascii + key) - 127) + 32;
System.out.print((char)value);
}
else{
value = (ascii + key);
System.out.print((char)value);
}
谢谢,任何信息都有帮助
for (int key = 1; key >= 100; key++)
for循环将key初始化为1,然后检查key是否大于或等于100,而不是100,因此循环立即终止
类似地,对于int i=0;i>15;当i++刚被初始化为0时,i++正在检查i是否大于15。您的循环从未被输入。>=这是关键的测试。您希望您似乎认为for循环中的条件是何时停止。不是。它是保持循环的时间。int key=1;键>=100 1永远不会大于100,因此您的循环永远不会被输入。抱歉@ElliottFrisch我在发布之前没有看到那个评论。@Andreas我应该吗?还有另外两个人发布了完全相同的东西。非常感谢你,我从来没有注意到!