在Java中将ASCII值转换为字符

在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++){

我目前正在做一项作业,我必须解密一个秘密短语,但根据ASCII值运行并打印100种不同的可能性。我已经走到了这一步,我相信我所拥有的应该是可行的,但当我运行程序时,它不会打印任何内容,只是说构建成功了。下面是我的代码:

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我应该吗?还有另外两个人发布了完全相同的东西。非常感谢你,我从来没有注意到!