运行以下代码时,为什么会出现错误?我怎样才能解决这个问题?我想要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);
}
}
答案 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:
显式声明为longlong 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)
。
我不确定是否还有其他方法可以使用,但这就是我使用的方式。