从动作按钮单击java到达变量数组

时间:2012-07-12 11:55:05

标签: java arrays variables

我受到编码的困扰,我需要你的帮助。

好的,首先我在类下面有一个数组变量。

我从excel获取值并将其放入nodename数组中,如下所示。我缩短了以下代码。

以下课程Readexcel也在ConfigGenerator Class。

class ReadExcel {
    private String inputFile;

    public void setInputFile(String inputFile) {
        this.inputFile = inputFile;
    }

    public void read() throws IOException {
        File inputWorkbook = new File(inputFile);
        Workbook nodes;
        try {
            nodes = Workbook.getWorkbook(inputWorkbook);
            // Get the first sheet
            Sheet nodessheet = nodes.getSheet(1);
            String[] nodename = new String[nodessheet.getRows()];
            for (int i = 1; i < nodessheet.getRows(); i++) {
                int j = 0;
                Cell x1a = nodessheet.getCell(0, i);
                nodename[j] = x1a.getContents();
                j++;
                // System.out.println(nodename[j]);
            }
        } catch (BiffException e) {
            // e.printStackTrace();
        }
    }
}

但我的问题是从按钮操作到达此变量。

 public class ConfigGenerator extends javax.swing.JFrame {
public ConfigGenerator() {
        initComponents();
        setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
    }
        private void generateActionPerformed(java.awt.event.ActionEvent evt) {                                         
            try {
                Writer output = null;
                for (String name: Generator.ConfigGenerator.ReadExcel.nodename[????]){
                    System.out.println(name);
                }  
                output.close();
                System.out.println("Your files has been written."); 
            } catch (IOException ex) {
                Logger.getLogger(ConfigGenerator.class.getName()).log(Level.SEVERE, null, ex);
            }
        } 
    }

我添加问号的部分是我过去2天的问题,但我无法从该数组中获取值。 首先,我需要获得数组的长度和第二个值:) 非常感谢您的帮助。

好的我通过添加代码的整个部分来编辑问题。

2 个答案:

答案 0 :(得分:1)

也许你的意思是你希望使用nodename.length获得数组长度,但我的代码有两个问题:

首先,您nodename作为action的本地数组访问,然后将其作为static类的ConfigGenerator变量访问,这意味着您正在访问两个不同的阵列。

此外,您将nodename数组作为static变量访问(尽管即使.class也不是必需的),但您将其称为“数组变量”,这意味着您需要首先创建一个新的类ConfigGenerator实例,初始化数组nodename,然后你可以在其他类中使用它。

答案 1 :(得分:1)

首先,在Java中检索数组长度的方法是

nodename.length

nodename.getlength()

但您也可以使用缩短的语法循环遍历特定数组中的所有元素:

for (Object obj : array) {
   System.out.println(obj);
}

在你的情况下,它将是:

for (Object obj : ConfigGenerator.nodename) { //replace Object with your datatype
   System.out.println(obj);
}