Hallo,
ich befasse mich seit ca. 3-4 Wochen mit Java und kriege gaaanz einfache Programme wohl zum Laufen. Nun will ich im Rahmen meines Studiums ein Programm schreiben, dass mir 50 Studenten abspeichert, denen eine laufende Matrikelnummer zuweist und denen ein zufälliges Geburtsdatum ausspuckt. So weit klappt das auch schon. Nur muss ich auch den einzelnen Studenten eins von 5 verschiedenen Studiengängen zufallsbedingt zuweisen.
Und da liegt mein Problem.
Ich habe mich schon in verschiedenen Foren reingelesen und hing da schon mehrere Stunden dran, aber ich komme nicht drauf. Ich poste das ganze einfach mal.
Unter
gibt er mir, ich glaube(!), die Feldnr. des Arrays Studiengänge aus und nicht den Inhalt. Ich habe es auch schon hinbekommen, dass er mir die Adresse ausgibt (irgendein Kauderwelsch welches ich nicht versteh à la [@4lb2 oä), aber das er mir zufällig C,V,I usw ausgibt bekomme ich nicht hin.
Ich bin mir auch ziemlich sicher, dass der Fehler in dieser Zeile liegt
, nur weiß ich nicht ob's an der Syntax liegt oder an einem Denkfehler (und es ist sicher beides...). Achja, ich würde in diesem Fall gerne die Methode Math.random beibehalten, alles andere würde mich nur noch mehr verwirren...
Ich bin für jede Hilfestellung dankbar.
Und ja, ich weiß, ich muss noch an meinem Programmierstil feilen...
Und DANKE DANKE DANKE im Voraus.
ich befasse mich seit ca. 3-4 Wochen mit Java und kriege gaaanz einfache Programme wohl zum Laufen. Nun will ich im Rahmen meines Studiums ein Programm schreiben, dass mir 50 Studenten abspeichert, denen eine laufende Matrikelnummer zuweist und denen ein zufälliges Geburtsdatum ausspuckt. So weit klappt das auch schon. Nur muss ich auch den einzelnen Studenten eins von 5 verschiedenen Studiengängen zufallsbedingt zuweisen.
Und da liegt mein Problem.
Ich habe mich schon in verschiedenen Foren reingelesen und hing da schon mehrere Stunden dran, aber ich komme nicht drauf. Ich poste das ganze einfach mal.
Java:
public class Studentenverwaltung1 {
public static void main(String[] args) {
int [][] Studenten = new int [50] [7];
int [] Studiengang = new int [50];
char [] Studiengänge = new char [5];
Studiengänge[0] = 'C';
Studiengänge[1] = 'V';
Studiengänge[2] = 'D';
Studiengänge[3] = 'B';
Studiengänge[4] = 'I';
int aktuellTag = 03;
int aktuellMonat = 11;
int aktuellJahr = 2010;
//-------------------------------------------------------------------------------------------------------------------------
for (int i = 0; i < Studenten.length; i++) {
Studenten[i][0] = 25000 + i; //Matrikelnummer
Studenten[i][1] = (int) (Math.random()*31); //Tag
Studenten[i][2] = (int) (Math.random()*12); //Monat
Studenten[i][3] = 1973 + (int) (Math.random()*20); //Jahr
Studiengang[i] = (int) (Studiengänge.length*Math.random());
int alter = (aktuellJahr - Studenten[i][3]);
if (Studenten[i][2] > aktuellMonat || Studenten[i][2] == aktuellMonat && Studenten[i][1] > aktuellTag)
alter = (alter - 1);
System.out.println (alter + " Jahre alt");
System.out.println ("#" + Studenten [i][0]);
System.out.println (Studiengang[i]);
}
}
}
Unter
Java:
System.out.println (Studiengang[i]);
Ich bin mir auch ziemlich sicher, dass der Fehler in dieser Zeile liegt
Java:
Studiengang[i] = (int) (Studiengänge.length*Math.random());
Ich bin für jede Hilfestellung dankbar.
Und ja, ich weiß, ich muss noch an meinem Programmierstil feilen...
Und DANKE DANKE DANKE im Voraus.
Zuletzt bearbeitet von einem Moderator: