在Java中为数组分配值

时间:2018-06-28 13:28:46

标签: java arrays methods

我需要其他方法的帮助才能将值分配给数组。我提供了需要修复的代码。我正在从一个文本文件中读取,并且在文本文件中,我需要在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(" ");
    } 
}

1 个答案:

答案 0 :(得分:0)

我认为您应该

if (values[1].equals(" S"))

if (values[1].equals(" C"))

因为您的文件在逗号后似乎有空格。 更好的方法是检查值[1] 包含“ C”或“ S”