gpt4 book ai didi

java - 如何在Java中正确使用分割

转载 作者:太空宇宙 更新时间:2023-11-04 07:52:01 26 4
gpt4 key购买 nike

我一直在编写这段代码,但我一直坚持如何正确分割文本文件。我怎样才能做到这一点?我正在使用二维数组,同时从文本文件中读取。

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);
}

享受......

关于java - 如何在Java中正确使用分割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14285303/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com