我是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;
。
答案 0 :(得分:3)
因为您没有为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();
答案 1 :(得分:0)
您的代码中有错别字。应该是
double a = input.nextDouble();
不是
double a;input.nextDouble();
其他变量相同。
现在您有两个声明。很容易看出我们是否在分号后放置换行符:
double a;
input.nextDouble();
这意味着您创建了一个变量double a
,但是没有值,然后读取了一个双值,但不要将其放在任何地方。它只是直接丢进垃圾桶。