を使用してのIntの制限を超えている場合、どのようにチェックします:ユーザ入力がこれは私がこれまでに入れたものである公共の静的な無効メイン(文字列の引数[])
public class CheckNum {
public static void main (String args[]) {
for (int i = 0; i < args.length; i++) {
if (Integer.parseInt(args[i]) > Integer.MAX_VALUE) {
System.out.println("Input value is too big");
}
}
}
}
しかし、私は中に入れないときこのような整数の最大値を超えるLinuxのザッツの数字:
JavaのCHECKNUM 1234567890
私も整数に大きすぎる数値を変換できないことから、私は推測しているのparseIntでNumberFormatsエラーが、ある取得Integerの最大値と比較する前にString args []の入力だけを使用して、入力された数値が整数には大きすぎるかどうかを調べる別の方法はありますか?
のマニュアルを参照してくださいBigIntegerの を操作する方法の詳細を取得したい場合は、
BigInteger bi = new BigInteger(args[0]);
を使用する - キャッチ(NumberFormatExceptionがの)'? 'args'は' String [] 'なので、解析する値をチェックするのはあなた次第です。これは、それがcmdから来たという事実とは関係ありません。あなたは 'String s =" 1234567890 ";を使用して解析することができ、それは同じです。 – AxelH
それは働いた!ありがとうございました! – okbuthow
あなたwoudn't。チェックが 'public static void main(String [] args)'か他の場所にあるかどうかは全く関係ありません。 – EJP