Java 使用多个if-else语句以及它们为什么循环?

Java 使用多个if-else语句以及它们为什么循环?,java,eclipse,Java,Eclipse,当我输入这段代码时,它会给我一个返回值,一旦我第一次在名字上使用“是”,它会对所有人使用该返回值例如:如果我说我的名字是贾斯汀,我说“是”,然后说我输入错了我的年龄,那么它不会给我机会改变它,它会说“太好了!”。我该如何解决这个问题?我在九年级,所以我对编程知道的不多,很抱歉我问了noob这个问题。提前谢谢 import java.util.Scanner; public class helloworld_main { private static Scanner scan; public s

当我输入这段代码时,它会给我一个返回值,一旦我第一次在名字上使用“是”,它会对所有人使用该返回值例如:如果我说我的名字是贾斯汀,我说“是”,然后说我输入错了我的年龄,那么它不会给我机会改变它,它会说“太好了!”。我该如何解决这个问题?我在九年级,所以我对编程知道的不多,很抱歉我问了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();

}

}

再次提示后,需要再次读取用户输入。加:

yes = scan.nextLine();
之后:

System.out.println("The age you entered is..." + age + ". Right?");
以及:


在eclipse中,您可以调试您的应用程序并逐步执行每一行代码,这样您就可以准确地看到发生了什么。下面是一篇关于在eclipse中调试java的文章,我个人认为学习如何调试比给他们一个答案更有用。正如你所看到的,他们会在任何有问题的时候提出问题,而不知道如何自己找到问题。
System.out.println("The year you were born is... " + year + ". Right?");