2017-05-08 2 views
0

スキャナを使用してページからテキストを読み取ろうとしています。ページのフィールドの1つをintとして保存する必要があり、スキャナが行の最後の整数に達したときに気付きました。また、空白で区切られていないテキストも取得されます。この問題を解決するには、私は次のコードを持っている:文字を取り除くために部分文字列操作の後で、parseInt()が不思議に動作する

String x=sc.next();//sc is the scanner 
x=x.substring(0,x.length()-4);//the text is always 4 characters long 
int x=Integer.parseInt(x); 

このコードはNumberFormatExceptionをスローします。私は愚かなエラーをしていたかどうかを確認するために最後から5文字を削除しようとしましたが、数字の一部を削除してしまいました。事前に感謝します

+2

プログラムに入力するテキストの例がありますか? –

+0

3495845997qwerの行に沿ったもの – CMonster

答えて

2

3495845997intではありません。 Javaの整数の最大値は2147483647です。代わりにLong.parseLong(x)を使用してください。

1

解析する数値が大きすぎてIntegerに含めることができません。お試しください

long y=Long.parseLong(x); 
関連する問題