我需要其他方法的帮助才能将值分配给数组。我提供了需要修复的代码。我正在从一个文本文件中读取,并且在文本文件中,我需要在c和s之间进行排序。文本文件包含数字和名称。 文本文件如下所示:
7623, S, Jones, Phyllis, 2000.00, 0
7623, C, Jones, Phyllis, 1200.00, 2
8729, S, Smith, Cletus, 1000.00, 1
8729, C, Smith, Cletus, 1700.00, 0
7321, S, Booth, Betty, 4500.00, 2
3242, C, Seybright, Sam, 4612.00, 0
3242, S, Seybright, Sam, 100.00, 3
9823, S, Blu, Oscar, 234.00, 2
9823, C, Blu, Oscar, 2345.00, 0
2341, S, Grief, Sally, 12373.12, 1
2341, C, Grief, Sally, 5421.12, 2
8321, S, Matchel, Jacues, 2314.00, 0
8321, C, Matchel, Jacues, 56233.00, 0
下面的代码(if语句有问题):
try {
FileReader inputValues = new FileReader("PRJ2Accounts.txt");
BufferedReader holdValues = new BufferedReader(inputValues);
while ((line = holdValues.readLine()) != null) {
String[] values = line.split(",");
Account account = null;
if (values[1].equals("S")) {
account = new Account(values[0], values[1], values[2], values[3], Double.parseDouble(values[4].trim()), Integer.parseInt(values[5].trim()));
}
if (values[1].equals("C")) {
account = new Account(values[0], values[1], values[2], values[3], Double.parseDouble(values[4].trim()), Integer.parseInt(values[5].trim()));
}
for (String str1 : values) {
System.out.print(str1 + " ");
aryNewFile[lineCount][fieldCount] = str1;
fieldCount++;
fieldTotal++;
}
lineCount++;
fieldCount = 0;
System.out.println(" ");
}
}
答案 0 :(得分:0)
我认为您应该
if (values[1].equals(" S"))
和
if (values[1].equals(" C"))
因为您的文件在逗号后似乎有空格。 更好的方法是检查值[1] 包含“ C”或“ S”