java如何增加if语句中的变量以用于另一个语句?
我很难弄清楚如何通过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);
我不确定这些变量应该如何定义,或者我的格式是否正确,请帮助
# 1 楼答案
在循环中初始化变量时,每次循环再次运行时都会重新初始化该变量。当您在循环外初始化它时,即使在循环中,它也保持相同的变量。for循环背后的概念就是基于此。 在本例中,计数将在while循环的每次更新中递增 因此,计数将被设置为0,并增加1,直到达到9,然后退出循环
但在这一次中,每一次都会循环。它将变量计数重新初始化为0,并将其递增为1。因此,每个循环都会创建一个新计数并将其设置为1
我对stack的第一个回应希望它能帮助您更好地理解这个概念:)
# 2 楼答案
我很确定我解决了这个问题,而不是在while循环内初始化,而是在while循环外初始化,它似乎解决了这个问题,任何解释背后概念的输入都会很棒