2012-04-08 76 views
1

我有一個文本文件,其中包含11個整數的名稱。我需要將這些數字解析爲一個數組,其中存儲在表示該值(0-10)的維度中的11個整數值中的最大值。解析文本文件輸入到數組中

我還需要保持名稱的完整性。

例如:

艾莉雅0 0 0 0 0 0 0 0 0 380 215:我正在尋找像艾莉雅輸出[9],並且存儲在該元件

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 

380值這是代碼我迄今:

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

} 

回答

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 
    } 
} 
+0

謝謝,這讓我走上了正軌。 – 2012-04-08 20:05:55

+0

如果解決了您的問題,您可以[接受答案](http://meta.stackexchange.com/a/5235/179508)。 – assylias 2012-04-08 21:53:27