2013-09-25 41 views
0

我需要能夠將一個數組分配給.txt文件,所以我需要在while循環之外引用變量「s」。即使在我定義並初始化變量後,我仍然在while循環中初始化時出現錯誤。我究竟做錯了什麼?如何在while循環中初始化數組並在外部定義它?

package vp.sga_form_generator; 

import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*; 
import java.io.*; 
import java.util.*; 


public class GUI extends JFrame{ 
    public GUI() throws FileNotFoundException { 

     super("SGA Form Creator - Viper Productions"); 
      setSize(1000,800); 
      setVisible(true); 
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      setLayout(new GridLayout(30, 2)); 

      //Opens File 
      Scanner names = new Scanner(new File("names.txt")); 

    //  String name1 = names.next(); 
      String[] s; 
      while(names.hasNext()){ 
       s = {names.next()}; 
      } 

      JComboBox names1 = new JComboBox(s); 
      JComboBox names2 = new JComboBox(s); 

      add(names1); 
      add(names2); 


    } 

} 
+0

什麼是錯誤? –

+2

爲什麼你使用數組?該數組永遠不會有多個使用此代碼的值,只需使用一個字符串即可。 –

回答

0
  1. {names.next()};只有當你初始化一個字符串[],所以你可以 說類似的東西String [] s = {「bla」,「bli」,「藍」}
  2. 問題是String []未初始化
  3. 你不能初始化具有合適大小的字符串,你不知道它。 因此String []不是選擇的結構
  4. 如果您需要使用String [],那麼您必須生成第二個String []並在每次添加一個元素時來回複製。
+0

是的那是我想要的 – user2455722

+0

如果我要使用ArrayList,我該怎麼辦? – user2455722

+0

另外,你可以分配一個ArrayList來填充一個JComboBox? – user2455722

相關問題