我受到编码的困扰,我需要你的帮助。
好的,首先我在类下面有一个数组变量。
我从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天的问题,但我无法从该数组中获取值。 首先,我需要获得数组的长度和第二个值:) 非常感谢您的帮助。
好的我通过添加代码的整个部分来编辑问题。
答案 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);
}