java初学者 - 找不到符号

标签 java

我是java初学者,试图创建一个程序,在终端中接收输入数字,并不断要求新数字,直到输入0。输入 0 后,我希望程序汇总所有数字并将它们加在一起。但是当我尝试编译程序时出现此错误:

enter image description here

代码如下:

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/

相关文章:

java - 使用 Ajax 从 Spring Controller 加载 Modal 中的数据

Java,文件不存在错误,即使它存在,网络服务器

java - 有没有办法在 Java 中获取对当前框架的引用?

java - 识别 XML 的内部节点

java - 修复强制转换 List<ArrayObject> 中的警告

java - 图形被 Swing 组件切断

java - 从 Java 对象类型到 SQL 类型的标准映射在哪里定义?

java 8 持续时间 "ofSeconds"与 "withSeconds"

java - 在 Java 应用程序中控制音量

java - Google Eclipse 插件在 Google Cloud Endpoints 中的方法干扰