gpt4 book ai didi

java - 一般编程 (Java) 新手。我应该如何修复这些错误?嵌套的 if-else 结构的顺序是否正确?

转载 作者:行者123 更新时间:2023-12-02 00:02:45 25 4
gpt4 key购买 nike

我正在使用 Java 编写一个程序,但遇到错误。该程序的目的是编写一个 while 循环,并在 if-else 结构中嵌套 if-else 结构。

  1. 第 33 行有一个错误,表示“变量年龄可能不会已被初始化”,即使它是在 main() 中声明的?

  2. 我是否正确地将 if-else 结构嵌套在 while 内?

  3. 大括号放置正确吗?

    import java.util.Scanner;

    public class RamosSLE32 { //Begin class

    public static void main(String[] args) { //Begin main()

    Scanner input = new Scanner(System.in);
    int age;
    String correctPassword = "MonthyPython";
    char tryAgain = 'Y';
    char tryAgain2 = 'Y';
    String q1 = "%nWhat is the password?";
    String q2 = "%nEnter your age: ";

    while (Character.toUpperCase(tryAgain) == 'Y') {
    System.out.printf(q1);
    String password = input.nextLine();
    if (!password.equals(correctPassword)) {
    System.out.printf("%nInvalid password!%nDo you want to try again? Y or N.");
    tryAgain = input.nextLine().charAt(0);
    }
    else {
    if (password.equals(correctPassword)) {
    System.out.printf(q2);
    age = input.nextInt();
    }

    {
    if (age > 17) {
    System.out.printf("%nShangri-La welcomes you to your earthly paradise!%nThank you! Have a nice day!");
    } else {
    if (age <= 17) {
    System.out.printf("%nSorry, NO underaged patrons allowed!%nDo you want to try again? Y or N.");
    tryAgain2 = input.nextLine().charAt(0);
    }
    }
    }
    }
    }

    } // End main()

    } // End class

最佳答案

您得到变量年龄可能尚未初始化,因为age是局部变量,并且局部变量没有获得默认值。
如果不通过某种方式赋值,它们的初始值是未定义的。在使用局部变量之前,必须先初始化它们。
更多详情请引用:default-values-and-initialization-in-java

关于java - 一般编程 (Java) 新手。我应该如何修复这些错误?嵌套的 if-else 结构的顺序是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58171643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com