如何在Java中对文本文件进行气泡排序
如何在java中进行气泡排序, 文本文件如下所示:如何在Java中对文本文件进行气泡排序,java,arrays,sorting,bubble-sort,Java,Arrays,Sorting,Bubble Sort,如何在java中进行气泡排序, 文本文件如下所示: aaa 2 bbb 3 ccc 1 我需要做的是循环遍历它,从最高分到最低分显示。 当我运行下面的代码时,数字已经被排序了。它将显示3,2,然后是1。 但是名称与相应的分数不同步,它将仅根据第一个名称显示名称。因此,如果我运行下面的代码,输出基本上如下所示: aaa 3 bbb 2 ccc 1 功能: public void hi_score(){ int i=0; try {
aaa
2
bbb
3
ccc
1
我需要做的是循环遍历它,从最高分到最低分显示。
当我运行下面的代码时,数字已经被排序了。它将显示3,2,然后是1。
但是名称与相应的分数不同步,它将仅根据第一个名称显示名称。因此,如果我运行下面的代码,输出基本上如下所示:
aaa 3
bbb 2
ccc 1
功能:
public void hi_score(){
int i=0;
try {
FileReader fr;
fr = new FileReader (new File("F:\\pscores.txt"));
BufferedReader br = new BufferedReader (fr);
int ar=0;
for(ar=0;ar<10;ar++){
player_name[ar]=br.readLine();
player_score[ar]=Integer.parseInt(br.readLine());
}
} catch (Exception e) { e.printStackTrace();}
bubble_srt(player_score, player_score.length);
System.out.print("Highscores:\n");
System.out.println("Scores");
System.out.println("Name\tScore");
for(i = 0; i <NUMBER_OF_HI_SCORE; i++){
System.out.print(player_name[i] + "\t" +player_score[i] + "\n");
}
}
public void hi_score(){
int i=0;
试一试{
文件阅读器fr;
fr=新文件读取器(新文件(“F:\\pscores.txt”);
BufferedReader br=新的BufferedReader(fr);
int-ar=0;
对于(ar=0;ar这是因为您仅对player\u分数
数组进行排序:
bubble_srt(player_score, player_score.length);
您还需要将player_name
数组发送到函数,按照之前的排序方式进行排序(基于分数),每次交换两个分数时,您也必须交换名称。应创建一个数组,将玩家和各自的分数组合为一个字符串[];
创建一个分数数组,对其进行气泡排序
然后,由于您有一个排序的int[]player\u score数组,您可以尝试通过字符串[]playername+score中元素的子字符串来匹配它
编辑:
因此,在冒泡排序之后,当您要打印它时,可能需要新排序的分数数组,尝试与字符串[]playername+score数组中的适当元素匹配,然后打印出与排序分数数组的第0、第1、第2个值匹配的元素