2017-11-05 9 views
-1

数字のリストを含むファイルを読み込んでリストの各数字の次に大きい数字を出力する必要があります。リストはファイルから整数を読み込み、次に高い数字とペアにしてください

78, 22, 56, 99, 12, 14, 17, 15, 1, 144, 37, 23, 47, 88, 3, 19 

ある場合たとえば、出力は次のようになります。

78: 88 
22: 23 
144: max value 

これは、これまで私が持っているもの、私は、nullポインタ例外を取得しておく

public class Numbers { 

    public static void main(String[] args) { 
     Scanner fileScan; 
     try { 
      fileScan = new Scanner(new File("list.txt")); 
      int data[][] = new int[10][]; 
      int row = 0; 
      while(fileScan.hasNextLine()) { 
       String line = fileScan.nextLine(); 
       String[] lineTokens = line.split(","); 
       data[row] = new int[lineTokens.length]; 
       for (int col = 0; col<lineTokens.length; col++) { 
        data[row][col] = Integer.parseInt(lineTokens[col]); 
       } 
       row++; 
      } 
      for (row = 0; row<data.length; row++) { 
       for (int col = 0; col<data[row].length; col++) { 
        System.out.print(data[row][col]+" "); 
       } 
       System.out.println(); 
      } 
      System.out.println(); 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } 
     catch (NullPointerException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

です** **ライン用。

正しい値を出力するために2つの整数を読み取る方法で配列を配列する方法を混乱させます。

+0

あなたの書式設定は読者にとって不公平です。私は** **と行が見えません。正してください! – PJTraill

答えて

0

あなたNullPointerExceptionが、このセクションで

for (row = 0; row < data.length; row++) { 
       //if (data[row] == null) continue; 
       for (int col = 0; col < data[row].length; col++) { 
        System.out.print(data[row][col] + " "); 
       } 
       System.out.println(); 
} 

を発生しているあなたは、配列の長さが10であることを割り当てるので、data.lengthは10ですが、行を持っていない場合はデータ[行]はnullですファイル内の行数。

数字の整理に関する質問の他の部分については、私はあなたが達成しようとしていることを知らない。あなたがそれをよりよく説明できるなら、私は答えを編集するでしょう。

関連する問題