2016-07-11 10 views
-2

2次元の配列を使用してプログラムを書く必要があります。クラスルーム内の学生の数を入力できました。学生のJavaプログラムthats 2次元の配列の値を初期化する

数:3

1.Student - >一年生:次のステップは、プリントアウトは、この例のようになりますので、すべての生徒が学年の別の番号を持っていることだろう5。 2年生:3;第3学年:2; 2.学生1級:1; 3.受講生1級:6; 2年生:2;

質問:私のプログラムは、すべての学生が異なる音符数を取得する必要があった時点で停止します。私はzeile [i]がzeile [0]の値をとることができないので、最初の値zeile [1]は2番目を得ることができます。 spalte [n]と同じ問題。

import java.util.*; 

public class NotenZeugnis { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
     // TODO Auto-generated method stub 


     int zeile,spalte; 
     int Noten [] []; 
     int anzahlS ; 
     int anzahl[]; 

     Scanner in = new Scanner(System.in); 


     System.out.println("Bitte geben sie die Anzahl der Schüler ein : "); 
     anzahlS = in.nextInt();//EINGABE DER SCHÜLER BSP .3 DANN 3 ZEILEN {{},{},{}}; 

     for (int i = 0; i <= anzahlS - 1; i++) { 
      System.out.println("Wieviele Noten hat der " + (i+1) +".Schüler ?"); 
      zeile[i] = in.nextInt();//EINGABE DER ANZAHL DER NOTEN 
      System.out.println(zeile);} 
      for (int s = 0; s < Noten[zeile].length; s++) { //I LASSEN WIR HIERBEI SO OFT LAUFEN WIE DIE ANZAHL DER NOTEN BSP 3 DANN GEHEN 
       //WIR DIESE SCHLEIFE 4 MAL DRUCH 
       System.out.println("Bitte geben sie die Noten für die "); 
       spalte[s] = in.nextInt();} //DABEI ERHÄLT SPALTE 0 EINEN WERT SPALTE 1 EINEN WERT SPALTE 2 
       Noten = new int [zeile][spalte];  
      } 
    } 

// WAS ICH IMPLEMENTIEREN MÖCHTE 
//MAN SOLL EINE ANZAHL VON SCHÜLERN ANGEBEN 
//FÜR DIESE ANZAHL SOLL ER MICH JEWEILS FRAGEN WIE VIELE NOTEN DIESE SCHÜLER HABEN------BIS HIER HIN GESCHAFFT 
//UND DABEI IMMER DIESE WERTE DEN SCHÜLERN ZUORDNEN DABEI SOLLEN DIESE WERTE DAS ERSTE FELD ÜBERNEHMEN 
//SODASS BSP. 3 SCHÜLER 1.SCHÜLER HAT 3 NOTEN 2.SCHÜLER 2 NOTEN 3.SCHÜLER HAT 5 NOTEN 
//BEI AUSGABE VON FELD ZEILE SOLLTE DER COMPUTER DAS JETZT SO WISSEN 
//zeile[0]=3; 
//zeile[1]=2; 
//zeile[2]=5; 

質問:私のprogrammがポイントで停止するには、すべての学生がノートの異なる数を取得する必要がありました。ここ

は、私がこれまで試してみましたものです。私はzeile [i]がzeile [0]の値をとることができないので、最初の値zeile [1]は2番目を得ることができます。 spalte [n]の同じ問題。おかげで助け:)

のために助けてくれてありがとう:)

+3

質問を再フォーマットして読みやすくすることができます。 – Fildor

+0

あなたはzeile [i]とspalteについての情報を教えてくれませんでした –

+0

質問:最初に入力するのではなく、入力することで配列の値を調べることは可能ですか?さらに、生徒は異なる数のマークを持っています。なぜなら、zeileは異なるものでなければならないからです。 – burakburi

答えて

0

あなたはこのような何かを探していますか?

int studentNumber = in.nextInt(); 

    int[][] students = new int[studentNumber][]; 


    for (int i = 0; i < students.length; i++) { 
     int gradeCount = in.nextInt(); 
     students[i] = new int[gradeCount]; 
     for (int j = 1; j <= gradeCount; j++) { 
      int grade = in.nextInt(); 
      students[i][j] = grade; 
     } 
    } 
関連する問題