当我输入这段代码时,它会给我一个回报,一旦我第一次使用yes,就名称而言,它会为所有这些使用该回报,例如:如果我说我的名字是Justin,我说那是"是"是的,然后说我输错了我的年龄,那么它不会给我一个改变它的机会,它会说"太棒了!"。我该如何解决?我在9年级,所以我不太了解编程,对于noob问题感到抱歉。提前谢谢!
import java.util.Scanner;
public class helloworld_main {
private static Scanner scan;
public static void main(String args[])
{
scan = new Scanner(System.in);
String name, age, year, yes, no, no1, no2;
System.out.print("Please enter your name --> "); // user prompt
name = scan.nextLine();
System.out.print("Please enter your age --> "); // user prompt
age = scan.nextLine();
System.out.print("Please enter the year you were born --> "); // user prompt
year = scan.nextLine();
// Their Name
System.out.println("So your name is... " + name + ". Right?"); // correction if name is not correct
yes = scan.nextLine();
if ("Yes".equals(yes))
{
System.out.println("Great!");
} else {
System.out.println("Oh. Please retype it.");
no = scan.nextLine();
System.out.println("Hello, " + no);
}
// The Age
System.out.println("The age you entered is..." + age + ". Right?");
if ("Yes".equals(yes))
{
System.out.println("Great!");
} else {
System.out.println("OK. Please reenter your age.");
no1 = scan.nextLine();
System.out.println("OK, I love " + no1 + " year olds!");
}
// Year Born
System.out.println("The year you were born is... " + year + ". Right?");
if ("Yes".equals(yes))
{
System.out.println("Fantastic!");
} else {
System.out.println("Ok then, please tell me what year you were born again.");
no2 = scan.nextLine();
System.out.println("Cool! I know someone else born in " + no2);
}
scan.close();
}
}
答案 0 :(得分:1)
再次提示后,您需要再次阅读用户输入。添加:
yes = scan.nextLine();
后:
System.out.println("The age you entered is..." + age + ". Right?");
和
System.out.println("The year you were born is... " + year + ". Right?");