为了账号安全,请及时绑定邮箱和手机立即绑定

文本文件包含字符串和数字。如何找到与字符串关联的最大数字?

文本文件包含字符串和数字。如何找到与字符串关联的最大数字?

喵喵时光机 2021-11-03 14:27:46
我有一个正在阅读的文本文件每行都有一对(字符串,值),以逗号分隔。如何找到最大的数字并将其字符串存储在变量中以备后用?原因是因为我必须将此字符串添加到哈希图中,以便用户继续玩游戏。该文件的大小会有所不同,因此可能会有更多或更少的对。这取决于我的游戏用户何时想要退出游戏。我唯一的代码是:try{    File savedGame=new File("savedGame.txt");    Scanner scan=new Scanner(savedGame);    //something goes here? } catch(FileNotFoundException fileError){   System.out.println("The file was not Found!\n " + "ERROR:" + fileError);}更新:VIPER 对此的方法是实现我所需要的最干净的方法。我的代码现在是:    try    {    int largest=0;    String startingStr="";    File savedGame=new File("savedGame.txt");    Scanner scan=new Scanner(savedGame);        while(scan.hasNext())        {                           String line=scan.nextLine();            String tokens[]=line.split(",");            if(Integer.parseInt(tokens[1])>largest)            {                largest=Integer.parseInt(tokens[1]);                startingStr=tokens[0];            }        }    }    catch(FileNotFoundException fileError)    {        System.out.println("The file was not Found!\n " + "ERROR:" + fileError);    }
查看完整描述

2 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

好的,取一个整数变量并用 0 或最小整数初始化(如果文件有负整数),然后取另一个变量字符串

所以你现在要做的是逐行解析,如果数字大于你的整数变量,把相应的字符串放在字符串变量中;完成文件后,您将拥有最大的整数及其相应的字符串。


查看完整回答
反对 回复 2021-11-03
?
慕森王

TA贡献1777条经验 获得超3个赞

我会这样做:


import java.io.File;

import java.io.FileNotFoundException;

import java.io.IOException;


public class Main {


    public static void main(String[] args) {

        String result = "";

        int temp = 0;

        String line = "";

        String path = "C:\\Users\\marco\\IdeaProjects\\untitled1\\src\\test.txt";

        try {

            java.io.BufferedReader fr = new java.io.BufferedReader(new java.io.FileReader(new File(path)));

            while ((line = fr.readLine()) != null) {

                String[] splitted = line.split(",");

                if(Integer.parseInt(splitted[1]) > temp){

                    temp = Integer.parseInt(splitted[1]);

                    result = line;

                }

            }

        } catch (FileNotFoundException e) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();

        }

        System.out.println(result);

    }

}

我不是 Java 专家。但它有效;)


查看完整回答
反对 回复 2021-11-03
  • 2 回答
  • 0 关注
  • 155 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信