从文本文件检索保存的数据,但仅显示Java JGrasp中的一部分数据

从文本文件检索保存的数据,但仅显示Java JGrasp中的一部分数据,java,jgrasp,Java,Jgrasp,我已经编写了一个游戏,如果我制作了它,你可以保存你的分数,如果你有一个好的分数,你将在前10名。我的问题是,当我使用保存的名称检索数据时,我只希望显示该数据的一部分,在本例中为10个名称 这是我的密码 public static void Highscore(List<Highscore> data) { String HighscoreList = ""; try { //Textfilens name String f

我已经编写了一个游戏,如果我制作了它,你可以保存你的分数,如果你有一个好的分数,你将在前10名。我的问题是,当我使用保存的名称检索数据时,我只希望显示该数据的一部分,在本例中为10个名称

这是我的密码

public static void Highscore(List<Highscore> data) {

   String HighscoreList = "";

      try {
          //Textfilens name
          String filname = "Highscore.txt";
          Scanner inFil = new Scanner(new File(filname));

             while(inFil.hasNext()) {

             String name = inFil.next();
             String percent = inFil.next();

             HighscoreLista += name + "\n" + percent + "%" + "\n\n";

          }  inFil.close(); 
      }   catch (FileNotFoundException e1) {
             JOptionPane.showMessageDialog(null,"File was not found!");
         }
            JOptionPane.showMessageDialog(null, HighscoreList);

}//Highscore ends
公共静态无效高分(列表数据){
字符串HighscoreList=“”;
试一试{
//Textfilens名称
字符串filname=“Highscore.txt”;
Scanner infl=新扫描仪(新文件(filname));
while(infl.hasNext()){
字符串名称=infl.next();
字符串百分比=infl.next();
HighscoreLista+=名称+“\n”+百分比+“%”+“\n\n”;
}infl.close();
}捕获(FileNotFoundException e1){
showMessageDialog(null,“未找到文件!”);
}
showMessageDialog(null,HighscoreList);
}//高分结束
如何在最终消息(高分列表)中只显示一部分球员


感谢您的帮助。

在函数中创建一个计数器变量,以跟踪while循环中的项目数,并检查计数器变量以及while条件

 public static void Highscore(List<Highscore> data) {

 String HighscoreList = "";
  int counter =0;

  try {
      //Textfilens name
      String filname = "Highscore.txt";
      Scanner inFil = new Scanner(new File(filname));

         while(inFil.hasNext() && counter<=10) {
          counter++;

         String name = inFil.next();
         String percent = inFil.next();

         HighscoreLista += name + "\n" + percent + "%" + "\n\n";

      }  inFil.close(); 
  }   catch (FileNotFoundException e1) {
         JOptionPane.showMessageDialog(null,"File was not found!");
     }
        JOptionPane.showMessageDialog(null, HighscoreList);

}//Highscore ends
公共静态无效高分(列表数据){
字符串HighscoreList=“”;
int计数器=0;
试一试{
//Textfilens名称
字符串filname=“Highscore.txt”;
Scanner infl=新扫描仪(新文件(filname));

while(infl.hasNext()&&counter感谢您的回复,但是,我只是想知道while循环中的“infl.hasNext()”是什么?