NumberFormatExceptionを取得しています。私はここで間違って何をしていますか? スペースで区切られた整数の配列を読み込もうとしています。 同じことを行う他の方法がありますか?私は多くの研究を行い、ほとんどの人はsplit()がStringTokenizerとBufferedReaderより優れていると言っています。コード更新このコードを実行することができません。 NumberFormatExceptionをスローしています。
public static void main (String args[])
{
@SuppressWarnings("resource")
Scanner io = new Scanner(System.in);
int a=io.nextInt();
String input;
for(int i=0; i<a; i++)
{
input = io.nextLine();
int x= input.length();
String[] splitArr = input.split("\\s+");
int p[]= new int[x];
int q=0;
for (String par : splitArr) {
p[q++] = Integer.parseInt(par);}
System.out.println(p);
}
}
}
、今取り組んで:
public static void main (String args[])
{
@SuppressWarnings("resource")
Scanner io = new Scanner(System.in);
int a=io.nextInt();
io.nextLine();
String input;
for(int i=0; i<a; i++)
{
int x= io.nextInt(); //size of array
io.nextLine();
input = io.nextLine();
String[] splitArr = input.split("\\s+");
int p[]= new int[x];
int q=0;
for (String par : splitArr) {
p[q++] = Integer.parseInt(par);}
for(int m=0; m<x; m++)
System.out.print(p[m]+" ");
}
}
}
のようなものをやってみてください。 – Lemonov
@Lemonovそれを修正するには?ユーザーが入力する整数の配列は文字列になりますので、それをどのように変更できますか? –
あなたの入力文字列を見ることができないので、私たちが本当に助けてくれるのか分かりません。 'System.out.println(par)'を解析する直前に 'System.out.println(par)'を実行してください。エラーが出ている文字列だけを見ることができます。または、デバッガで見てください。 – ajb