提问人:Samar Khan 提问时间:8/27/2023 最后编辑:HolgerSamar Khan 更新时间:8/29/2023 访问量:70
谁能向我解释一下?[复制]
Can Anyone Explain This to Me? [duplicate]
问:
我是 java 的新手,一直在学习中尝试不同的东西,但最近我遇到了这个错误
error: cannot find symbol
我已经在谷歌上搜索了答案,但我仍然无法完全掌握问题及其解决方案。也许这里更有经验的人可以帮助我。
这是我一直在尝试运行的代码:
public class simple
{
public static void main(String arg[])
{
BigInteger largeValue= new BigInteger(Integer.MAX_VALUE +1);
for( int i=0; i < 4 ; i++)
{
System.out.println(largeValue);
largeValue = largeValue.add(BigInteger.ONE);
}
}
}
这是我遇到的错误:
simple.java:5: error: cannot find symbol
BigInteger largeValue= new BigInteger(Integer.MAX_VALUE +1);
^
symbol: class BigInteger
location: class simple
simple.java:5: error: cannot find symbol
BigInteger largeValue= new BigInteger(Integer.MAX_VALUE +1);
^
symbol: class BigInteger
location: class simple
simple.java:9: error: cannot find symbol
largeValue = largeValue.add(BigInteger.ONE);
^
symbol: variable BigInteger
location: class simple
3 errors
答:
1赞
Jesus Rosales
8/27/2023
#1
该代码利用 BigInteger 类来处理大型整数值。它不是直接尝试从 Integer.MAX_VALUE + 1 创建 BigInteger,而是首先将 int 的最大值转换为字符串,然后从该字符串构造 BigInteger。然后,在 for 循环中,代码使用 add(BigInteger.ONE) 方法将 largeValue 的值逐渐递增 1,并在每次迭代中打印它。这可确保 BigInteger 正确处理数字,并防止由于值溢出而导致的错误。 Ejemplo:
import java.math.BigInteger;
public class Simple {
public static void main(String[] args) {
BigInteger largeValue = new BigInteger(Integer.toString(Integer.MAX_VALUE)).add(BigInteger.ONE);
for (int i = 0; i < 4; i++) {
System.out.println(largeValue);
largeValue = largeValue.add(BigInteger.ONE);
}
}
}
评论
1赞
Holger
8/28/2023
没有必要绕道而行。而不是你可以使用 .或者你用(介意)替换整个。String
new BigInteger(Integer.toString( Integer.MAX_VALUE))
BigInteger.valueOf(Integer.MAX_VALUE)
new BigInteger(Integer.toString(Integer.MAX_VALUE)).add(BigInteger.ONE)
BigInteger.valueOf(Integer.MAX_VALUE + 1L)
L
评论
java.math.BigInteger
BigInteger
import java.math.BigInteger;
BigInteger
java.math.BigInteger
BigInteger
import java.lang.*;