如何在while循环中初始化数组并在外部定义?

时间:2013-09-25 23:32:28

标签: java arrays swing variables jcombobox

我需要能够将数组分配给.txt文件,因此我需要在while循环之外引用变量“s”。即使我定义并初始化变量后,我在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);


    }

}

1 个答案:

答案 0 :(得分:0)

  1. {names.next()};只有在初始化String []时才允许这样做 说像String [] s = {“bla”,“bli”,“blu”}
  2. 问题是String []未初始化
  3. 你不能初始化具有适当大小的字符串你不知道它。 所以String []不是选择的结构
  4. 如果你需要使用String []那么你必须生成第二个String []并在每次添加一个元素时来回复制。