public int getRank(int auxYear, String auxName){
//FileResource auxFr = new FileResource("/testing/yob" + auxYear + "short.csv");
String resourceName = "/Users/User/Desktop/coursera/week4_babybirths/babybirths/testing/yob" + auxYear + "short.csv";
File auxFile = new File(resourceName);
if(auxFile.exists()){
FileResource auxFr = new FileResource(auxFile);
//FileResource auxFr = new FileResource();
int auxRank = 0;
for (CSVRecord auxRec : auxFr.getCSVParser(false)){
if (auxRec.get(1).contains(auxGender)){
auxRank += 1;
String auxN = auxRec.get(0);
if (auxRec.get(0).contains(auxName)){
return auxRank;
}
}
}
}
的GetName方法是閱讀的CSV文件,而不是從第一行盯着,下面的代碼:爲什麼我的getName()方法不是從我的csv文件的第一行開始的?
public String getName(int auxYear, int auxRank, String auxGender){
////FileResource auxFr = new FileResource("/testing/yob" + auxYear + "short.csv");
String resourceName = "/Users/User/Desktop/coursera/week4_babybirths/babybirths/testing/yob" + auxYear + "short.csv";
File auxFile = new File(resourceName);
if (auxFile.exists()){
FileResource auxFr = new FileResource(auxFile);
int auxCount = 0;
for (CSVRecord auxRec : auxFr.getCSVParser()){
String auxStr = auxRec.get(0);
if (auxRec.get(1).contains(auxGender)){
auxCount += 1;
String auxStr1 = auxRec.get(0);
if (auxCount == (auxRank-1)){
return auxRec.get(0);
}
}
}
}
我還使用:
public String yourNameInYear(String auxName, int auxYear, int auxNewYear, String auxGender){
int auxRank = getRank(auxYear, auxName, auxGender);
return getName(auxNewYear, auxRank, auxGender);
}
public void testYourNameInYear(){
String auxName = yourNameInYear("Isabella", 2012, 2014, "F");
System.out.println("Isabella" + " born in " + 2012 + " would be " + auxName + " in " + 2014);
}
默認YourNameInYear
將調用getRank
這一會打開yob2012short.csv
,然後處理完後,getName
將被調用並打開yob2014short.csv
。我不知道爲什麼這個不是從第一排開始的?
爲了記錄:還有其他人在這個完全m你放棄我們。嚴重的是:你認爲看編輯預覽然後點擊提交按鈕是什麼感覺? – GhostCat
抱歉,我的第一次人類感謝你 – osk
有一個編輯按鈕來改善你的問題。你最好打這個,並使用預覽和降價語言解釋。不要試圖快速思考,解決**混亂**。 – GhostCat