有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

SwingJava:拆分字符串并将其放入文本区域的

我有一个方法,可以将名字和分数保存到文本文件中。现在我制作了一个“high scores”按钮,调用一个从文本文件的high scores中读取的方法。现在这个输出非常难看,所以我想把名字放在一个文本区域,把分数放在另一个文本区域,这样它们就可以均匀地分开

我该怎么做

提前谢谢

我的当前输出:Current output


共 (2) 个答案

  1. # 1 楼答案

    听起来你真正想要的是一种处理名字和分数对齐的方法。您可以使用Java对format strings的支持来自动填充name字段,并为其提供最大宽度,从而将所有分数对齐到同一列中:

    String.format("%-20.20s %s", "Name", "Score")
    

    这将填充每个名称,使其宽20个字符,如果名称超过20个字符,还将截断名称,以免溢出到分数区域。您可以将上面的20更改为您认为合理的任何宽度

  2. # 2 楼答案

    假设文件的格式如下:

    NAME;SCORE\n
    OTHERNAME;OTHERSCORE\n
    ...

    你可以这样做:

    BufferedReader br = new BufferedReader(...); // Initialize a buffered reader reading from that text file.
    String line;
    while ((line = br.readLine() != null) {
        String name = line.split(";")[0];
        String score = line.split(";")[1];
        namesTextArea.append(name + "\n");
        scoresTextArea.append(score + "\n");
    }
    

    我希望有帮助