我是Java的新手,所以请耐心等待。 我正在尝试编写一个接收用户输入的程序,直到输入某个单词,此时程序终止。 到目前为止我有这个:
public class Question {
private String getInput() {
Input in = new Input();
System.out.print("Enter String: ");
String line = reader.readLine();
}
public void method() {
while (!"end".equals(line)) {
System.out.println(line);
line = reader.readLine(); // read next line
}
}
public static void main(String[] args) {
new Question().getInput();
}
}
任何人都可以解释可能出现的问题吗?
答案 0 :(得分:1)
此代码甚至不会编译。
private String getInput()
{
Input in = new Input();
System.out.print("Enter String: ");
String line = reader.readLine(); // reader does not exist
}
请至少在发布前努力识别并解决问题。当然编译器警告你(或者会警告你)它不知道reader
是什么。据推测,您从网站复制了此代码,但未复制所有代码。必须首先定义reader
变量,当您尝试访问其readLine()
方法时,它可能是BufferedReader
类型。
为了更清楚,请尝试以下代码:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
这将根据您的需要实例化读者。你可以删除它:
Input in = new Input();
因为你没有使用它。
答案 1 :(得分:0)
您需要定义一个名为reader
的变量,该变量在该行可用,并且具有返回字符串的readLine()
方法。你最想做的事情就像是
BufferReader reader = new BufferReader(new InputStreamReader(System.in));
查看here了解更多详情。