1

名前の後に 11 個の整数が続くテキスト ファイルがあります。これらの数値を解析して、その値 (0 ~ 10) を表すディメンションに格納されている 11 個の整数値の最大値を使用して配列にする必要があります。

また、名前の整合性を維持する必要があります。

例えば:

Aaliyah 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");
            }
        }

 } 
4

1 に答える 1

0

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
    }
}
于 2012-04-08T19:56:29.497 に答える