java - 变量未初始化 - 我必须设置一个变量,而不是仅仅在 if 语句中添加它吗?

标签 java variables initialization

我正在尝试构建一个基本的重量计算器,并遇到“变量weightOut可能尚未初始化”错误。谷歌似乎表明这是因为我需要初始化“weightOut”而不是仅仅设置它“=weightIn * .78”。这是真的?这是我的代码。

 Scanner keyboard = new Scanner(System.in);

          int weightIn, planetNumber;
          double weightOut;

          System.out.print("What is your weight? ");
          weightIn = keyboard.nextInt();

          System.out.println("I have information for the following planets: ");
          System.out.println("   1. Venus ");
          ...

          System.out.print("What planet are you going to? ");
          planetNumber = keyboard.nextInt();

          if( planetNumber == 1 )
          {
              weightOut = weightIn * 0.78;
          }
          ...

         System.out.println("Your weight would be " + weightOut + 
                  " on that planet.");

最佳答案

局部变量未使用默认值进行初始化。局部变量应在使用前进行初始化。

double weightOut = 0.0;

如果 if 语句在运行时从未真正执行过怎么办?编译器实际上担心的是,如果在运行时局部变量无法获取值并且您在其他地方使用它,那么它应该给它的值没有默认值!

关于java - 变量未初始化 - 我必须设置一个变量,而不是仅仅在 if 语句中添加它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17692775/

相关文章:

java - 在 java 中使用 SAX 解析 XML,不区分大小写。

function - 将函数结果分配给SQL变量并显示

java - 将单个监听器链接到多个按钮

c - 初始化为空字符串的字符数组元素的值

c - 将 malloc 与静态指针一起使用

java - 如何在JSP中声明int变量?

java - 如何在 Java EE 中获取当前 Web 应用程序的名称?

php - CodeIgniter 如何访问 Twig 模板中的 session 变量

c++ - 如何使用 avr-gcc 在 C/C++ 中执行预主初始化?

java - java中for循环的特殊行为