因此,我有一個文件,名稱和11個人氣排名看起來像this。 < ---(這是一個鏈接)我對我接下來的這部分工作我有點困惑,一般來說,我有名字的應用程序看起來像這樣:具有名稱和知名度的輸入文件Java
public class Name{
private String givenName;
private int[] ranks = new int[11];
public Name(String name, int[] popularityRanks){
givenName = name;
for (int i = 0; i < 11; i++){
ranks[i] = popularityRanks[i];
}
}
public String getName(){
return givenName;
}
public int getPop(int decade){
if (decade >= 1 && decade <= 11){
return ranks[decade];
}
else{
return -1;
}
}
public String getHistoLine(int decade){
String histoLine = ranks[decade] + ": ";
return histoLine;
}
public String getHistogram(){
String histogram = "";
for (int i = 0; i < 11; i++){
histogram += ranks[i] + ": " + this.getHistoLine(i)
+ "\n";
}
return histogram;
}
}
還沒有完成對getHistoLine但是,這並不有什麼做什麼,我試圖做的。通常我想從文件中取出這些名稱並創建一個列表數組。
他怎麼描述它:
創建主陣列,它傳遞給readNamesFile方法,讓該方法填補它與名稱的對象
測試此,打印出不同的名字和他們的人氣排行榜
例如,如果主命名數組,列表,然後在從readNamesFile方法的返回做這樣的事情:
System.out.println(list[0].getName() + list[0].getPop(1));
這是我的主要看上去像什麼:
import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;
public class NameApp{
public static void main(String[] args){
Name list[] = new Name()
}
private static void loadFile(){
Scanner inputStream = null;
String fileName = "names.txt";
try {
inputStream = new Scanner (new File(fileName));
}
catch (FileNotFoundException e){
System.out.println("Error opening file named: " + fileName);
System.out.println("Exiting...");
}
while (inputStream.hasNext()){
}
}
}
我只是有點糊塗我怎麼能取的名字把它發送到Name對象名單[],然後採取普及的行列,並將其發送到名稱對象列表[]。所以當我打電話給 列表[0] .getName()
它只會調用其中一行的名稱...對不起,我對Java語言有點新鮮。在此先感謝
您沒有正確創建了'名稱'陣列。應該像這樣'Name list [] = new Name [someSize];' –
從你的文件中,你想從文件中的每一行創建新的'Name's?什麼是「人氣排名」? –
是的,我認爲我的列表[]數組我希望它包含一個名稱與文件中每個名字的人口。所以像列表[0] .getName會給我A和列表[0] .getPop(1)會給我140. – user3044041