这让我发疯!这是代码:

public static void main(String[] strings) {
    int input;
    String source;
    TextIO.putln("Please enter the shift value (between -25..-1 and 1..25)");
    input=TextIO.getInt();
    while ((input < 1 || input > 25) && (input <-25 || input >-1) && (input != 999 && input !=-999))
    {
        TextIO.putln(input + " is not a valid shift value.");
        TextIO.putln("Please enter the shift value (between -25..-1 and 1..25)");
        input=TextIO.getInt();
    }
    TextIO.putln("Please enter the source text (empty line to quit)");
    //TextIO.putln(source);
    source = TextIO.getln();
    TextIO.putln("Source    :" + source);?");
}

}


但是,它告诉我从未读过“源”!它不允许我输入信息!谁能看到问题所在?

最佳答案

编译器是正确的;永远不会读取变量source。您正在为其分配一个值(source = TextIO.getln();),但是您永远不会回读该值。

为此,您可以执行以下操作:

TextIO.putln(source);

您似乎在使用TextIO类从控制台读取文本时遇到麻烦。这是Java 5中引入的更标准的方法:

   String source;
   Scanner in = new Scanner(System.in);
   source = in.nextLine();


您到底想对变量source做什么?就目前而言,您正在要求用户输入一个字符串,但是您并未对该字符串进行任何操作。

10-04 21:08