我是java初学者,试图创建一个程序,在终端中接收输入数字,并不断要求新数字,直到输入0。输入 0 后,我希望程序汇总所有数字并将它们加在一起。但是当我尝试编译程序时出现此错误:
代码如下:
import java.util.Scanner;
public class SumTall {
public static void main(String[] args) {
Scanner tallscanner = new Scanner(System.in);
int tall = 0;
int tall1;
System.out.println("Write a number:");
tall1 = Integer.parseInt(tallscanner.nextLine());
while(tall1 > 0) {
System.out.println("Write another number:");
tall1 = Integer.parseInt(tallscanner.nextLine());
int tall2 = tall + tall1;
}
if(tall1 == 0) {
System.out.println(tall2);
}
}
}
最佳答案
您在 while
block 中声明了 tall2
,并在 while 之外声明了它。仅当您的情况下它属于 while block 时,它才会粘在该 block 上,但您试图在外部访问该变量 tall2
,而这就是您看到该错误的原因。希望对您有帮助。
我改变了外面的声明部分。
import java.util.Scanner;
public class SumTall {
public static void main(String[] args) {
Scanner tallscanner = new Scanner(System.in);
int tall = 0;
int tall1,tall2;
System.out.println("Write a number:");
tall1 = Integer.parseInt(tallscanner.nextLine());
while(tall1 > 0) {
System.out.println("Write another number:");
tall1 = Integer.parseInt(tallscanner.nextLine());
tall2 = tall + tall1;
}
if(tall1 == 0) {
System.out.println(tall2);
}
}
}
关于java初学者 - 找不到符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39370130/