只有一个问题:为什么必须两次输入
answer = in.nextLine();
呢?如果只有一行,则程序无法按预期工作。没有第二行,程序不会要求您输入字符串。public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String answer = "Yes";
while (answer.equals("Yes")) {
System.out.println("Enter name and rating:");
String name = in.nextLine();
int rating = 0;
if (in.hasNextInt()) {
rating = in.nextInt();
} else {
System.out.println("Error. Exit.");
return;
}
System.out.println("Name: " + name);
System.out.println("Rating: " + rating);
ECTS ects = new ECTS();
rating = ects.checkRating(rating);
System.out.println("Enter \"Yes\" to continue: ");
answer = in.nextLine();
answer = in.nextLine();
}
System.out.println("Bye!");
in.close();
}
}
nextInt()
,他将不得不。 - TheLostMindscanf
时遇到的问题。我总是使用BufferedReader
,所以没有遇到过这样的情况。感谢您的回答! - EpicPandaForceFileReader/BufferedReader
通常用于读取。 - TheLostMind