Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中对文本文件进行气泡排序_Java_Arrays_Sorting_Bubble Sort - Fatal编程技术网

如何在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 {

如何在java中进行气泡排序, 文本文件如下所示:

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个值匹配的元素