我被编码弄糊涂了,需要你的帮助。
首先,我在一个类下有一个数组变量。
我从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);
}