我已经运行了我的代码,这是序列中的第一个,然后我运行了示例代码,它是序列中的第二个代码。序列中的第二个将运行,但第一个将不会运行。我做错了什么?我已经仔细检查了代码,看不出任何重要的差异。编码蝙蝠告诉我,错误是“找不到符号 符号:class var line:2“
以下是代码:
public int diff21(int n) {
var diff = Math.abs(n - 21);
if (n > 21) {
return diff*2;
} else {
return diff;
}
}
public int diff21(int n) {
if (n <= 21) {
return 21 - n;
} else {
return (n - 21) * 2;
}
}
答案 0 :(得分:1)
Java没有关键字&#39; var&#39;,您需要明确声明变量。
在您的情况下,您需要将diff声明为&#39; int&#39;
答案 1 :(得分:0)
var diff
表示您声明了一个名为diff
的{{1}}类型的变量。什么是var
类型?编译器不知道,因而也就是错误。
答案 2 :(得分:0)
将var
更改为double
,因为var
不是Java原始数据类型。您也可以使用int
,但必须输入Math.abs
。如果运行代码,则var
的代码将无法编译。
如果您想测试它们,请进行以下更改。
public class Test {
public static void main(String[]args){
System.out.println(diff21(10) +" "+ diff22(15));
}
public static int diff21(int n) {
int diff = Math.abs(n - 21);
if (n > 21) {
return diff*2;
} else {
return diff;
}
}
public static int diff22(int n) {
if (n <= 21) {
return 21 - n;
} else {
return (n - 21) * 2;
}
}
}