-5

私はひもを持っています。分割してchar配列として格納します。を使用して変換しようとしていInteger.parseIntますが、エラーが発生します。String を int に変換するにはどうすればよいですか?

これが私のコードです:

String tab[]= null;
tab=pesel.split("");
int temp=0;
for(String tab1 : tab)
{
    temp=temp+3*Integer.parseInt(tab1); //error
}
4

2 に答える 2

2

数字の文字列 (例: ) があると仮定すると、代わりに次のように"123"使用できます。toCharArray()

for (char c : pesel.toCharArray()) {
    temp += 3 * (c - '0');
}

Integer.parseInt()これで完全回避。各文字が数字であることを確認したい場合は、 を使用できますCharacter.isDigit()


あなたのエラーはstr.split("")、配列に先頭の空の文字列が含まれているためです:

System.out.println(Arrays.toString("123".split("")));
[、1、2、3]

これを回避するために、否定的な先読みを使用するトリックがあります。

System.out.println(Arrays.toString("123".split("(?!^)")));
[1、2、3]

いずれにせよ、私は上記のアプローチを好みます。

于 2013-10-24T18:29:25.587 に答える
0

分割方法のギャップを逃しました。

tab=pesel.split(" ");
于 2013-10-24T18:30:05.337 に答える