因此,我有一个文件,名称和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