Java 从单击的操作按钮获取变量数组
我被编码绊倒了,我需要你的帮助 首先,我在一个类下面有一个数组变量 我从excel中获取值,并将其放入nodename数组中,如下所示Java 从单击的操作按钮获取变量数组,java,arrays,variables,Java,Arrays,Variables,我被编码绊倒了,我需要你的帮助 首先,我在一个类下面有一个数组变量 我从excel中获取值,并将其放入nodename数组中,如下所示 以下类Readexcel也在ConfigGenerator类下 class ReadExcel { private String inputFile; public void setInputFile(String inputFile) { this.inputFile = inputFile; } publi
以下类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();
}
}
}
我添加问号的部分是我最近两天的问题,我正在尝试,但无法从该数组中获取值。
首先我需要得到数组的长度,然后是值:)
非常感谢您事先的帮助
好的,我编辑了这个问题,添加了整个部分的代码。也许您的意思是希望使用
nodename.length
获取数组长度,但是我对您的代码有两个问题:
首先将节点名
作为操作
的本地数组访问,然后将其作为类ConfigGenerator
的静态变量访问,这意味着您正在访问两个不同的数组
此外,您还可以将节点名
数组作为静态
变量访问(尽管即使.class
也不是必需的),但您提到它是一个“数组变量”,这意味着您首先需要创建classConfigGenerator
的新实例,初始化数组节点名
,然后你可以在其他类中使用它 首先,在Java中检索数组长度的方法是
nodename.length
不是
但您也可以使用缩短的语法循环特定数组中的所有元素:
for (Object obj : array) {
System.out.println(obj);
}
在您的情况下,它将是:
for (Object obj : ConfigGenerator.nodename) { //replace Object with your datatype
System.out.println(obj);
}
请把你读excel文件的整个课堂都贴出来,还有GenerateAtonPerformed方法所在的类请注意,我的按钮位于另一个名为ConfigGenerator的类下,其中是创建ReadExcel
和ConfigGenerator
的代码。ReadExcel也在ConfigGenerator下,通过编辑添加了更多代码。问题是您我们在问吗?是的,名为nodename的数组充满了字符串变量。你是对的,我想我是想作为一个静态变量来访问它,但我真的不知道应该在哪里修改才能访问它。我应该在后面使用Object或string吗?因为你nodename
数组的类型是string[]
您可以使用字符串
而不是对象
。
for (Object obj : array) {
System.out.println(obj);
}
for (Object obj : ConfigGenerator.nodename) { //replace Object with your datatype
System.out.println(obj);
}