java - 将文本文件输入解析为数组

标签 java parsing sorting

我有一个文本文件,其中包含名称后跟 11 个整数。我需要将这些数字解析为一个数组,其中 11 个整数值中最大的一个存储在表示该值 (0-10) 的维度中。

我还需要保持名称的完整性。

例如:

Aaliyah 0 0 0 0 0 0 0 0 0 380 215:我正在寻找像 Aaliyah [9] 这样的输出,以及存储在该元素中的 380 值

Aaron 193 208 218 274 279 232 132 36 32 31 41
Abagail 0 0 0 0 0 0 0 0 0 0 958
Abbey 0 0 0 0 0 0 0 0 537 451 428
Abbie 431 552 742 924 0 0 0 0 752 644 601
Abbigail 0 0 0 0 0 0 0 0 0 953 562
Abby 0 0 0 0 0 906 782 548 233 211 209
Abdiel 0 0 0 0 0 0 0 0 0 925 721
Abdul 0 0 0 0 0 0 0 903 0 0 0
Abdullah 0 0 0 0 0 0 0 0 0 1000 863
Abe 248 328 532 764 733 0 0 0 0 0 0

这是我迄今为止的代码:

import java.io.*;
import java.util.*;

public class Names
{
    private static String name = "bb";
    private static int [] yearRank;
    private static boolean match;

        public static void main( String[] args)
        {
            java.io.File file = new java.io.File("names.txt");
            try
            {
                Scanner input = new Scanner(file);
                while (input.hasNext())
                {
                    String num = input.nextLine();
                    if(match = num.toLowerCase().contains(name.toLowerCase()))
                    {
                        for (int i = 0; i<11; i++)
                        {

                            System.out.println(num);
                        }
                    }
                }
            catch(FileNotFoundException e)
            {
                System.err.format("File does not exist\n");
            }
        }

 } 

最佳答案

num 在循环内不会改变 - 如果您知道空格分隔不同的字段,您可以这样做,例如(未测试):

String num = input.nextLine();
if(match = num.toLowerCase().contains(name.toLowerCase())) {
    String[] fields = num.split(" "); //split the line into an array, each item contains a field
    for (String field : fields) { //loop over the array
        System.out.println(field); //print each field
    }
}

关于java - 将文本文件输入解析为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10065955/

相关文章:

java - fragment Activity 的简单时间选择器

java - persistence.xml 中不存在 Hibernate 映射实体

c# - 我可以将 Int.TryParse 更改为在解析不成功时返回 -1 而不是零吗?

c++ - 如何使用 ICU 解析汉字数字字符?

java - 如何检查 selenide 中的页面标题

JAVA api验证/异常处理

python - 如何将我的 Python 代码一次应用于一个文件夹中的所有文件,以及如何为每个后续输出文件创建一个新名称?

java - 检索最小元素,元素是动态排序的

javascript - 按降序按两个值对数组中的对象进行排序

sorting - 如何比较两个文件并打印两个文件不同的值