永远不会读取Java-String错误!

时间:2010-09-24 02:12:29

标签: java

这让我疯了!这是代码:

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);?");
}

}

然而,它告诉我'源'永远不会被阅读!它不允许我得到输入!任何人都可以看到问题所在吗?

2 个答案:

答案 0 :(得分:2)

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

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

TextIO.putln(source);

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

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

您希望对变量source做什么?就目前而言,你要求用户输入一个字符串,但你没有对该字符串做任何事情。

答案 1 :(得分:1)

您可能应该向您的朋友寻求帮助,而不是在线发布我们的作业。我觉得这似乎是欺骗的主观。如果你已经遇到麻烦,它只会变得更糟。你应该在大学一年级学习。