java - 如何增加 if 语句中的变量以便在另一个语句中使用?

标签 java global-variables increment

我很难弄清楚如何通过 if 语句增加变量,并允许在不同的 if 语句中调用它时注册它。我目前正在做一项模仿输入菜单的作业。如图所示,用户输入特定命令,并在 A、B 或 C 上输入 3 个分数/值。单独的输入可以是 F,在这个输入上,它应该显示 A、B、C 每家公司有多少次失败。

            System.out.print("\nPlease enter a command:"); //Starts command prompt
            String menuPrompt = scanner.next(); //Takes next input and uses one of the following if statements

            if (menuPrompt.equals("a")) {
                double aNum1;
                double aNum2; //initializes a score inputs
                double aNum3;

                System.out.print("\nEnter number 1:");
                aNum1 = scanner.nextDouble();

                System.out.print("\nEnter number 2:");
                aNum2 = scanner.nextDouble(); //asking for inputs of test values of company a

                System.out.print("\nEnter number 3:");
                aNum3 = scanner.nextDouble();

                if(aNum1 < -6.0 || aNum1 > 12.3) {
                    aFailure = aFailure + 1;
                }
                if(aNum2 < -6.0 || aNum2 > 12.3) {
                    aFailure = aFailure + 1; //checks to see if inputted value is a failure, if so, failure ticks up 1.
                }
                if(aNum3 < -6.0 || aNum3 > 12.3) {
                    aFailure = aFailure + 1;
                }

还有另外两行与此类似的代码,仅用于“b”和“c”。我在类的顶部初始化了 aFailure、bFailure 和 cFailure 并将它们的值设置为 0。在 a、b、c 提示的 if 语句之后,我有以下内容:

            } else if (menuPrompt.equals("f")) {

                System.out.print("\nAzuview Failures: " + aFailure);
                System.out.print("\nBublon Failures: " + bFailure); //Lists total failures for each company
                System.out.print("\nCryztal Failures: " + cFailure);

我不确定这些变量应该如何定义,或者我的格式是否正确,有帮助吗?

最佳答案

当您在循环中初始化变量时,每次循环再次运行时都会重新初始化该变量。当您在循环外部初始化它时,即使在循环中它也保持相同的变量。 for 循环背后的概念就是基于此。 在此示例中,每次更新 while 循环时计数都会增加 因此计数将被设置为 0 并增加 1 直到达到 9 时退出循环

var count = 0;
while(count <10){
    count++;
}

但是在这个中每次都会循环。它将变量 count 重新初始化为 0 并将其递增为 1。因此每个循环都会创建一个新的 count 并将其设置为 1

while(true){
  var count =0;
  count++;
}

我在堆栈上的第一个回复希望它可以帮助您更好地理解这个概念:)

关于java - 如何增加 if 语句中的变量以便在另一个语句中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60118829/

相关文章:

java - 将 TYPE 注释传递给方法而不是标记接口(interface)

java - IntelliJ 编译错误 zip END header 未找到

Java/"Advanced"检查

PHP多重封装函数全局变量作用域

c - 使用 nftw 时如何避免使用全局变量

git - 在 git push 上更新项目版本号

Java 并行 volatile i++

javascript - ANGULAR 中的增量数不起作用

java - Spring 测试MVC : How to use object as Request Parameters

c++ - 为了保持全局空间空闲,我应该在哪里放置我的类需要的常量?