0

我被编码困住了,我需要你的帮助。

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

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

我添加问号的部分是我最近 2 天的问题,但我无法从该数组中获取值。首先,我需要获取数组的长度,其次是值:) 非常感谢您提前提供的帮助。

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

4

2 回答 2

1

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

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

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

于 2012-07-12T12:06:25.167 回答
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);
}
于 2012-07-12T12:09:11.603 回答