0

したがって、Javaでは、コマンド引数に多数があり、たとえば12345678910であり、bigIntegerを使用できません。すでに、次のように実行しています。

String[] g = args[1].split("");

だから、私の文字列は文字列配列に入れられます。しかし、私は使用できません:

int[] ginormintOne = new int[g.length];
   for(int n = 0; n < g.length; n++) {
      ginormintOne[n] = Integer.parseInt(g[n]);
   }

それは私にこれを与えます:

Exception in thread "main" java.lang.NumberFormatException: For input string: ""
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at Ginormint.main(Ginormint.java:67)

私の数はintには大きすぎると思います。それを多数の配列に変換する方法について何かアイデアはありますか?

4

3 に答える 3

5

空の文字列で分割しています。例えば、

"123 456".split("")

結果は次のようになります。

["" "1" "2" "3" " " "4" "5" "6"]

これがあなたの例外の原因です。

于 2013-03-14T19:32:11.283 に答える
0

Long.parseLongの代わりに、Integer.parseIntおよびのlong[]代わりに使用しLong.parseLongます。

とはNumberFormatExceptionいえ、は空の文字列を渡したために失敗したことを示しています。文字列を正しく分割しているのか、それとも分割が必要なのか。のargs配列は、そこから来てmainいると仮定して、すでにスペースで分割されています。args

于 2013-03-14T19:27:57.480 に答える
0

fromの配列の最初の要素は空の文字列であり、これは空の文字列に変換できないためargs[1].split("")、私の意見では例外が発生します。java.lang.NumberFormatExceptionInteger

于 2013-03-14T19:35:06.007 に答える