从操作按钮点击java到达一个变量数组



我被编码弄糊涂了,需要你的帮助。

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

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

下面的类Readexcel也在ConfigGenerator类下。

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

我添加问号的部分是我在过去两天字符串中的问题,但无法从该数组中获取值。首先我需要得到数组的长度,其次是值:)非常感谢您提前提供的帮助。

好的,我编辑了这个问题,用代码添加了整个部分。

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

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

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

首先,在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);
}

最新更新