我一直在编写这段代码,但我一直坚持如何正确分割文本文件。我怎样才能做到这一点?我正在使用二维数组,同时从文本文件中读取。
Scanner sc= new Scanner (System.in);
int entry;
String hockeyStats[][] = new String[8][30];//Array initialized, up to 30 players in total can be in the database.
BufferedReader input = new BufferedReader (new FileReader ("Vancouver Stats.txt"));//Text file with player names imported.
// FULL NAME, GOALS, ASSISTS, PLUSMINUS, PENALTY MINUTES, SHOTS
String listnumbers="word";
while (listnumbers!=null)
{
for (int x=0; x<30;++x)
{
listnumbers=input.readLine();
String temp[]=listnumbers.split(" ");
for (int y=0; y<7;++y)
{
hockeyStats[x][y]=temp[y];
}
}
}
input.close();
我必须做什么?我不明白这里的问题。这是我的文本文件温哥华统计数据
Kesler Ryan 22 27 11 56 222
Sedin Henrik 14 67 23 52 113
Edler Alexander 11 38 0 34 228
Hansen Jannik 16 23 18 34 137
Hamhuis Dan 4 33 29 46 140
Tanev Christopher 0 2 10 2 15
我很困惑如何获取这些数据集并将它们放入二维数组中,以便我可以询问用户是否要排序、搜索玩家、添加玩家等。
如果有人可以帮助我,请并感谢!
您可以使用以下代码读取测试文件并管理数据。
try {
File file=new File("asd.txt");
Scanner sc=new Scanner(file);
/*
* If Players name are unique
*/
Map<String,ArrayList> mPlayerData=new HashMap();
ArrayList mData=new ArrayList();
while(sc.hasNext()){
String mPlayerName="";
Scanner sc2=new Scanner(sc.nextLine());
sc2.useDelimiter(" ");
int i=0;
while(sc2.hasNext()){
if(i<2){
mPlayerName=mPlayerName.equalsIgnoreCase("")?sc2.next():mPlayerName+" "+sc2.next();
}else{
mData.add(sc2.next());
}
i++;
}
mPlayerData.put(mPlayerName, mData);
}
System.err.println(mPlayerData.size());
} catch (FileNotFoundException ex) {
Logger.getLogger(JavaApplication1.class.getName()).log(Level.SEVERE, null, ex);
}
享受......
我是一名优秀的程序员,十分优秀!