减去两个Long值

时间:2017-02-09 21:19:12

标签: java subtraction

运行以下代码时,为什么会出现错误?我怎样才能解决这个问题?我想要System.out.print(hi-hello);

Long hello = 43;
Long hi = 3523;
public class HelloWorld{
    public static void main(String[] args){
        System.out.print(hi-hello);
    }
}

3 个答案:

答案 0 :(得分:2)

您的属性声明和init应该在您的班级内:

public class HelloWorld{
    Long hello = 43;
    Long hi = 3523;

因为你没有得到正确的结果而不在一边:

并且您的Long格式不正确它应该是这样的:

  Long hello = 43L;
  Long hi = 3523L;

当您在静态方法中调用属性时,应该将它们设置为静态,因此您的程序应该如下所示:

public class HelloWorld
{
  static Long hello = 43L;
  static Long hi = 3523L;
  public static void main(String[] args)
  {
    System.out.print(hi-hello);
  }
}

这将打印:

3480

注意

像@EJP在评论中所说:

  

当数字太大而无法用int表示时,它必须是   通过添加L:

显式声明为long
long n = 9876543210L;

答案 1 :(得分:2)

因为 hi low 被声明为 LONG 对象,所以必须通过在末尾添加L或使用它们将它们声明为文字长班

public class HelloWorld {
     public static void main(String[] args) {
        Long hello = 43L;
        Long hi = 3523L;
        System.out.print(hi-hello);
     }
}

答案 2 :(得分:-1)

longs 不使用 + -之类的常规运算符,而是需要使用Long.sum(long l1, l2)

我不确定是否还有其他方法可以使用,但这就是我使用的方式。