这让我发疯!这是代码:
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
做什么?就目前而言,您正在要求用户输入一个字符串,但是您并未对该字符串进行任何操作。