2017-01-05 11 views
-4

次のように生徒の成績を比較してください: 学生NO:25 31 6 78 42 スコア:78 85 63 59 99Javaの二次元のアレイ

デザインプログラム、教師の入力であればスコアプログラムということ (1)スコアより高い学生番号 (2)スコアの高い学生の総数

INPUT:80、学生NO.31,42を出力します(1)。 (2)合計:2人の学生

私は問題がプログラムの実行後に "forループ"にあると思います。私はスコア80を入力しました。「NO。25合計1、NO。25合計2、........ NO。25合計8」 これは繰り返しのようです。ここで

は私のコードで、新人のミスがあり、あなたに

public class TWOarray { 

    public static void main(String[] args) { 
    int[][] arr = new int[][] { 
     {25, 31, 6, 78, 42}, 
     {78, 85, 63, 59, 99} 
    }; 
    int count = 0; 
    int yournum = 0; 
    Scanner sc = new Scanner(System.in); 

    System.out.println("ENTER score"); 
    yournum = sc.nextInt(); 

    for (int i = 0; i < arr.length;i++) { 
     for (int j = 0; j < arr[i].length-1;j++) { 
     if (yournum >= arr[0][j]) { 
      count++; 
     } else if (yournum < arr[0][j]) { 
     } 
     System.out.print("student NO:" + arr[i][0] + "total" + count + "students"); 
     }   
    } 
    } 
} 
+0

いい宿題:D – Zelldon

+0

宿題レビューサービスではありません。あなたは、修正が必要だと思われるあなたのプログラムに何が間違っているのか説明していません。 – khelwood

+0

申し訳ありませんが、私の問題は "forループ"で、forループで項目を設定する方法だと思います。 – user7378823

答えて

0

に感謝し、私はそれを修正するために助けてください。

次の行で

for (int j = 0; j < arr[i].length-1;j++) { 

条件がj < arr[i].length -1あるので、あなたはそれがすべてのセルを反復するためにj < arr[i].lengthまたはj <= arr[i].length -1で、行の最後のケースをチェックすることはありません。その後、次のブロック

if (yournum >= arr[0][j]) { 
     count++; 
} else if (yournum < arr[0][j]) { 

} 
System.out.print("student NO:" + arr[i][0] + "total" + count + "students"); 

のためにあなたが常にあなたのテーブル内の最初の行を使用している

iのようにarr[i][j]