谁能给我解释一下吗?

问题描述 投票:0回答:1

我是java新手,一直在尝试不同的东西来学习这门神奇的语言,但最近我遇到了这个错误----错误:找不到符号-----我在谷歌上搜索了答案,但我仍然无法完全掌握问题及其解决方案。也许这里更有经验的人可以帮助我。

这是我一直在尝试运行的代码:

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
java variables cmd jvm jit
1个回答
0
投票

错误是意图创建一个使用 BigInteger 实例的勇气,它是最大的勇气,允许最大的勇气。 Integer.MAX_VALUE 的值是 2,147,483,647,它是 1 的意图,结果是 2,147,483,648。

但是,BigInteger 的构造函数可以通过类型参数创建字符串来创建数字对象。 Para corregir este Problema, debes proporcionar el valor como una cadena:

BigInteger largeValue = new BigInteger(Integer.toString(Integer.MAX_VALUE)).add(BigInteger.ONE);

首先,将大整数转换为 esa cadena 部分的最大勇气。 También puedes ver que he Combinado la Creación de la instancia BigInteger y la adición de uno en una sola linea, lo que es más compacto.

Con esta corrección, el código debería funcionar Correctamente and evitará el Problema de crear un BigInteger con un valor fuera del rango Permitido.

© www.soinside.com 2019 - 2024. All rights reserved.