【发布时间】:2014-04-26 18:07:37
【问题描述】:
所以我有一些代码应该使用 jfilechooser 获取文本文件,使用拆分和扫描仪,用冒号作为分隔符并将数据存储到数组中。代码和文本如下所示。我添加了一段代码来测试数组长度是否小于 1,即使我已将其设置为存储在字符串数组中,它也始终如此。为什么要这样做,我怎样才能让它将每行代码中的文本存储到 6 个间隔的数组中?
else if (e.getSource()==readButton) {
JFileChooser fileChooser = new JFileChooser("Local Disk (C:)");
if (fileChooser.showOpenDialog(null)==JFileChooser.APPROVE_OPTION)
{
empFile=fileChooser.getSelectedFile();
}
Scanner scan = new Scanner("empFile");
while(scan.hasNext()) {
String[] rowData = scan.nextLine().split(":");
if (rowData.length < 1){
System.out.println("error");
}
else if(rowData.length == 5) {
rowData[4] = "0";
fName = rowData[0];
lName = rowData[1];
position2 = rowData[2];
firstParam = Double.parseDouble(rowData[3]);
empNum = Integer.parseInt(rowData[4]);
c.addEmployee(fName, lName, position2, firstParam, 0, empNum);
}
else {
fName = rowData[0];
lName = rowData[1];
position2 = rowData[2];
firstParam = Double.parseDouble(rowData[3]);
secondParam = Integer.parseInt(rowData[4]);
empNum = Integer.parseInt(rowData[5]);
c.addEmployee(fName, lName, position2, firstParam, secondParam, empNum);
}
}
}
约翰:史密斯:制造:6.75:120:444
贝蒂:怀特:经理:1200.00:111
Stan:Slimy:Sales:10000.00:332
贝蒂:Boop:设计:12.50:50:244
【问题讨论】:
-
为什么在引文中有 empfile?扫描仪 scan = new Scanner("empFile");
-
你是什么意思?我尝试将其更改为 Scanner scan = new Scanner(empFile);但我遇到了一个错误。
-
您尝试打开的文件的名称是什么
-
作业文本 5.txt
-
好的。制作没有引用的 empfile 并将其他所有内容放在同一个 if 语句中(如果 if 语句无论如何都失败,则不能使用扫描仪
标签: java arrays split java.util.scanner