2016-07-11 1 views
-2

두 번째 차원 배열을 사용하여 programm을 작성해야하는 이유는 클래스 룸에있는 학생의 수를 입력 할 수 있었기 때문입니다. 학생들의자바 프로그래머 thats 2 차원 배열의 값을 초기화

번호 : 다음 단계는 아웃 인쇄이 예제와 같습니다 그래서 모든 학생이 등급의 다른 번호를 가지고 있다는 것 3

1.Student -> 1 학년 : 5; 2 학년 : 3; 3 학년 : 2; 2. 학생 1 학년 : 1; 3. 학습 1 학년 : 6; 2 학년 : 2;

질문 : 모든 학생이 다른 음표를 받아야하는 시점에서 프로그램이 중단됩니다. 나는 zeile [i]이 zeile [0]의 값을 취할 수 없으므로 zeile [1]이 두 번째 값을 얻는 이유를 알지 못한다. spalte [n]에서 같은 문제가 발생했습니다. 모든 학생이 노트의 다른 번호를해야했다 내 programm에이 시점에서 중지 :

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; 

질문 : 여기

내가 지금까지 시도한 것입니다. 나는 zeile [i]이 zeile [0]의 값을 취할 수 없으므로 zeile [1]이 두 번째 값을 얻는 이유를 알지 못한다. spalte [n]에서 같은 문제가 발생했습니다. 도움말 :

+3

질문을 다시 포맷하여 읽을 수 있습니다. – Fildor

+0

zeile [i] 및 spalte에 대한 정보를 제공하지 않았습니다. –

+0

질문 : 처음부터 입력하지 않아도 배열 값을 확인할 수 있습니까? 또한 학생들은 점수가 다르기 때문에 점수가 달라야합니다. – 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; 
     } 
    }