0

Scanner オブジェクトを使用して JOPtionPane 入力ダイアログから読み取ろうとしたときに問題が発生しました (以下のテキスト)。

int array[] = new int[6];
for (int i=0; i<6; i++)
    { 
        Scanner sc = new Scanner(System.in);
        JOptionPane.showInputDialog("Enter a number to fill the array: ");
        array[i]=sc.nextInt(System.in);
    }

次のようにコードを変更すると、問題が解決しました。

String st;
int array[] = new int[6];
for (int i=0; i<6; i++)
    { 
        st= JOptionPane.showInputDialog("Enter a number to fill the array: ");
        array[i] = Integer.parseInt(st);
    }

Scanner クラスオブジェクトを使用して配列を埋めることができない理由を知りたい:/

4

1 に答える 1

0

スキャナーは複数の異なる場所から入力を受け取るように設定できますが、残念ながら JOptionPane からは設定できません。Scanner を使用する場合は、別の入力方法を選択する必要があります。ファイル、既存の文字列、またはコンソール入力のいずれか。

Java 6 API - クラススキャナー

JOptionPane は、その入力を 1 つの場所 (それ自体) からのみ収集します。

Java 6 API - クラス JOptionPane

于 2013-02-19T20:48:08.293 に答える