は、私はこのエラーを取得する:Number形式例外エラー
Exception in thread "main" java.lang.NumberFormatException: For input string: "9999997560"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:461)
at java.lang.Integer.valueOf(Integer.java:554)
at jsobcpuburnerpd3.Main.main(Main.java:22)
Java Result: 1
プログラムは、2つのやる-しばらくほぼ同一であり、ループ、完全に最初の作品があります。私は2番目の問題にのみ問題があります。
BigDecimal lower = new BigDecimal("1000001520");
BigDecimal upper = new BigDecimal("9999997560");
int var = 2520;
String strL = lower.toString();
Integer intL = Integer.valueOf(strL);
String strU = upper.toString();
Integer intU = Integer.valueOf(strU);
どちらの数字も同じ桁数で、同じ方法で整数に変換されます。どちらもループ内でほぼ同じように処理されます。
intL = intL + var;
intU = intU - var;
は、私はまた、StringにはBigDecimalからの変換、およびStringに数値を直接入力することなく、これを試みたが、それでも同じエラーを持っています。
EDIT私はBigDecimalを使用しています。これは、先生が私たちの仕事で使用したかったものの一部です。私はそれが必要ではないことを知っています。
は、なぜあなたは 'BigDecimal'をcontrustedので、あなたが既に持っていることを(あなたは、' BigDecimal'で始めている 'STRING'に変換するために使用して整数にBigIntegerの変換それだけで '整数 'を作るために)? – Tunaki
あなたの最初の間違いは、両方の数字が同じ桁数を持っているという前提を作り出していたことです。どのような形でもデータ型に関連しています。 – Savior