这两个java代码有什么区别?

时间:2017-03-26 20:37:29

标签: javascript

我已经运行了我的代码,这是序列中的第一个,然后我运行了示例代码,它是序列中的第二个代码。序列中的第二个将运行,但第一个将不会运行。我做错了什么?我已经仔细检查了代码,看不出任何重要的差异。编码蝙蝠告诉我,错误是“找不到符号   符号: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;
  }
}

3 个答案:

答案 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;
    }
  }
}