我初始化了一个变量值和一个输入的值.. netbeans给了我错误..任何人都可以用我的代码指出问题
public class JavaApplication1 {
/**
* @param args the command line arguments
*/
static Scanner sc = new Scanner(System.in);
static double maxLoad = 500;
static double currLoad;
static double loadInput = 0;
public static void main(String[] args) {
String cpNumber;
System.out.println("Enter Cellphone Number");
cpNumber = sc.nextLine();
System.out.println("Enter load to be bought");
loadInput = sc.nextDouble();
computeLoad(maxLoad, loadInput);
System.out.println(currLoad);
}
public static double computeLoad(double x, double y) {
double z = 0;
x - y = z;
return z;
}
}
我有另一个错误。它一直返回0 ..
答案 0 :(得分:2)
它应该是:
public static double computeLoad(double x, double y) {
return x- y;
}
答案 1 :(得分:2)
您的代码存在一些问题:
1)分配变量时,将变量放在左侧,将表达式放在右侧
2)目前,computeLoad
的返回值被忽略。即使您修复了要编译的函数,它也无法正常工作,因为您打印的currLoad
将保持初始化为其默认值。
您有两种方法可以解决此问题:
currLoad = computeLoad(maxLoad, loadInput);
或computeLoad
更改为void
,并在此处指定currLoad
。答案 2 :(得分:1)
x - y = z;
这是错误的。作业必须从左到右。
喜欢:z = x - y;
答案 3 :(得分:1)
x - y = z;
不是有效的Java语句。赋值运算符(=
)计算右操作数(可以是任何类型的表达式,方法调用,文字和很快)并将其分配给左操作数(必须是标识符)。
z = x - y;
是正确的。
答案 4 :(得分:1)
你不能这样做:
x - y = z
因为作业从右到左。
z = x - y
您的代码应如下:
public static double computeLoad(double x, double y) {
double z = 0;
z = x - y;
return z;
}