我有一個程序,它從一個CSV文件全民族姓氏,名字和出生年的讀取,並將它們分配到一類特殊的數組,然後被根據自己的姓氏排序。我相信我的代碼工作,所以我必須做的檢查,這是輸出列表,看看如果確實所有的人都是由他們的姓氏排序。但是,我無法找到正確的語法來執行此操作。 這裏是我的Main.java的代碼,我認爲這個問題一定是。Java:我怎麼不能從csv文件輸出我的排序值?
package project_1_sorting;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main
{
public static void main(String[] args) throws IOException {
// open file input stream
BufferedReader reader = new BufferedReader(new FileReader(
"C:\\Users\\Owner\\Desktop\\Data 18k.csv")); // double check where this is trying to read it from
// read file line by line
String line = null;
Scanner scanner = null;
int index = 0;
Human[] pplArray = new Human[18000];
int i = 0;
while ((line = reader.readLine()) != null) {
Human ppl = new Human();
scanner = new Scanner(line);
scanner.useDelimiter(",");
while (scanner.hasNext()) {
String data = scanner.next();
if (index == 0)
ppl.setLastName(data);
else if (index == 1)
ppl.setFirstName(data);
else if (index == 2)
ppl.setBirthYear(data);
else
System.out.println("invalid data::" + data);
index++;
}
ppl.setKey(0); //change this for later things, you can use loop
ppl.setOrder(0); //change this to 1 if you want to invert the list of people
index = 0;
pplArray[i] = ppl;
i++;
System.out.println(pplArray);
}
//close reader
reader.close();
System.out.println(pplArray); // create
Selection_Sort selection = new Selection_Sort();
for (int j = 0; j < 18000; j++)
{
System.out.println(pplArray[j]);
}
}
}
所以我期待這個輸出所有我的人從CSV文件中的一個巨大的列表(有序),他們所有的相同的格式信息,因爲他們原本是吧。 (每行一人,3串3列)。然而,這是我得到的:
run:
Test
17
true
0.142857
BUILD SUCCESSFUL (total time: 0 seconds)
我不知道這是什麼意思。它似乎在做一些與我正在嘗試做的事完全無關的事情。這是我在NetBeans中打開的唯一項目,因此它必須從我的函數生成,對嗎?如果有人知道這是什麼,請告訴我。如果這個Main.java沒有其他錯誤,我可以發佈我的其他.java文件。
有一件事我沒有注意到的是,即使我評論了我的選擇排序函數調用,以及所有在這java文件的打印行命令,顯示了我的屏幕上相同的輸出。
請讓我知道你在想什麼。
謝謝,我試過了,錯誤解決了。它也是有意義的;我需要在main18k(現在簡稱爲main)函數中包含這些行,以便定義它們的參數。我運行了代碼,結果讓我有些困惑。我的代碼的輸出顯示「Test 17 true 0.142857」。我不確定這意味着什麼或來自哪裏,但這絕對不是我期待的。它應該根據他們的姓氏打印出所有人的屬性。我將編輯我在這裏發佈的代碼,以便更容易看到。 – user3274463