2013-02-19 85 views
0

當改變這樣的代碼如下,我試圖用掃描儀對象從的JOptionPane輸入對話框讀取當具有difficculties(以下文字)問題掃描儀在Java中

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); 
    } 

我想知道爲什麼我無法使用掃描儀類對象填充陣列:/

+3

'JOPtionPane'和'Scanner'來自兩個完全不同的來源獲取他們的意見。 – 2013-02-19 20:42:18

+0

從'System.in'中讀取意味着你將在控制檯中讀取輸入,而不是從'JOptionPane'中讀取,這就是爲什麼第一個選項不起作用。 – 2013-02-19 20:42:40

回答

0

掃描儀可以設置爲從多個不同的地方進行輸入,但不幸的是不能從JOpti onPane。如果你想使用掃描儀,你必須選擇不同的輸入方法。文件,現有字符串或控制檯輸入。

Java 6 API - class Scanner

的JOptionPane收集其輸入從只有一個地方,本身。

Java 6 API - class JOptionPane