java - 局部变量未初始化
问题描述
我是 Java 新手,刚刚开始。
这是我当前的代码:
public class MathWork {
public static void main(String[]args) {
System.out.println("Enter 3 numbers below for A, B and C");
Scanner input = new Scanner(System.in);
System.out.println("Enter A: ");
double a;input.nextDouble();
System.out.println("Enter B: ");
double b;input.nextDouble();
System.out.println("Enter C: ");
double c;input.nextDouble();
System.out.println("X = "+(a+b+c));
System.out.println("Fuel = ");
System.out.println("Mean = ");
System.out.println("Aint = ");
System.out.println("geo = ");
input.close();
}
}
当我尝试运行此程序时,X 的打印语句出现错误,说“局部变量 a 可能尚未初始化”,但对于所有三个变量。变量应该等于输入的数字,所以我真的不知道如何解决这个问题。
也是的,我import java.util.Scanner;
在顶部。
解决方案
因为你没有分配任何东西给a
, b
,c
有两种方法可以将用户输入的值分配给变量。第一的 :
double a = input.nextDouble();
第二个是:
double a = 0;
a = input.nextDouble();
所以你的代码变成:
System.out.println("Enter A: ");
double a = input.nextDouble();
System.out.println("Enter B: ");
double b = input.nextDouble();
System.out.println("Enter C: ");
double c = input.nextDouble();
推荐阅读
- haskell - 在haskell中定义自定义类型
- c++ - Qt错误iso c++禁止指针和整数之间的比较-fpermissive
- python - 比较 LSTM 结构
- reactjs - React Native Fade Right/Left View on Scroll Down
- java - Java继承-可以简化将超类对象传递给子类吗?
- python - Python 使用索引和/或值替换值
- unity3d - Unity Networking:物体有速度,但没有移动
- sml - SML中n-1个元素的LCM
- vba - 在一组复数中找到一个实数
- c# - 在 Web API 中返回 JSON