if then else geht nicht

Michi_1989

Mitglied
Hiho,

ich habe gerade ein Problem mit ner If then else Abfrage.
Es soll eine selbst geschriebene Fehlermeldung erscheinen, wenn das Array voll ist. Aber er haut immer den out of bound error raus. Ich hoffe das liegt nicht an meiner wilden Methodenübergabe. Habe die Stelle unterstrichen.

Vielen Dank im Voraus.

Java:
package uebung7;

public class Uebung7 {

        
public enum Studiengang {WINF , INF, MINF, MT, GET};

 //Prüfungen zufällig bestanden/nicht bestanden.
public static void Pruefungen () {
 
        int Menge = 0, AnzahlPruef = 0;
	System.out.print("hat Prüfung: ");

        for (int k = 0; k < 32; ++k)
            {
            Menge = Menge << 1;
            Menge = Menge + (int)(Math.round(Math.random()));
            }

            for (int l = 0; l < 32; ++l)
		{
                if (Menge % 2 == 1)
                {
                System.out.print((32-l)+" ");
                ++AnzahlPruef;
                
                }
                Menge = Menge >>> 1;
		}
                System.out.print("bestanden \nund somit "+AnzahlPruef+" von 32 Prüfungen geschafft.\n");
    
}

// Vor- Nachnamen erstellen und den Studenten zufällig zuordnen.(Denkt euch nichts bei den Namen. Fand die cool. ^^)
public static void Namen (){
    
    char [][] Vornamen = {{'S','u','s','a','n'},{'R','o','l','a','n','d'},{'E','d','d','i','e'},{'S','u','s','a','n','n','a','h'},
                         {'M','a','r','i','u','s'},{'R','o','s','a','l','i','n','d'},{'M','i','c','h','a','e','l'},{'C','u','t','h','b','e','r','t'},
                         {'L','i','s','a'},{'E','z','i','o'}};

    char [][] Nachnamen = {{'D','e','l','g','a','d','o'},{'D','e','s','c','h','a','i','n'},{'D','e','a','n'},{'H','o','l','m','e','s'},
                          {'A','u','d','i','t','o','r','e'},{'M','o','r','t'},{'I','p','m','a','n'},{'S','i','n','c','l','a','i','r'},
                          {'F','l','a','k'},{'C','a','r','t','m','a','n'}};
    
    {
    int n = (int) (100*Math.random()%10);
    int m = (int) (100*Math.random()%10);
    System.out.print(Vornamen[n]);
    System.out.print(" ");
    System.out.println(Nachnamen[m]);
    }
   
}
//public static void Alter(int studentenarray[]){
 //int i=1, max=0, min=0;
 //float sum=0;
    
  //  int n=studentenarray[5];     	
  //      sum=sum+n;
  //      if (i==1) 
  //          {
  //          max=n;
  //          min=n;
  //          }
  //          if (n>max) max=n;
  //          if (n<min) min=n;
  //          ++i;  
//}

public static void Studenteninit (int [][] stud, int counter,int i){
    Studiengang a = Studiengang.WINF;  
    
    //Zufallswerte zuordnen, Schleife über s Studs.
    for ( i=0 ; i!=counter;++i){ 
                                                                                
        stud[i][0] = (int) (10000+9583*Math.random()); //5-stellige  Zahlen
        stud[i][1] = (int) (1980+10*Math.random()); // geb. ab 1980
        stud[i][2] = (int) (1+100*Math.random()%12); //Werte 1...12
        stud[i][3] = (int) (1+100*Math.random()%30); // Werte 1..30


        stud[i][5] = (int) ((2011*365+11*30+07)-(stud[i][1]*365+stud[i][2]*30+stud[i][3]))/365; // Alter mit Array berechen

        // Studiengang zufällig zuordnen.
        int t =(int) (Math.random()*5);
    
        switch(t){
            case 0 : a = Studiengang.WINF; stud[i][4] = 2;                     
            break;
            case 1 : a = Studiengang.INF; stud[i][4] = 2;                
            break;
            case 2 : a = Studiengang.MINF; stud[i][4] = 2;
            break;
            case 3 : a = Studiengang.MT; stud[i][4] = 1;
            break;
            case 4 : a = Studiengang.GET; stud[i][4] = 1;
            
      
        }
    }  
   System.out.println("\nStudiengang: "+ a);
}

public static void NeuerStud(int Anzahl, int [][] stud,int counter){
    int Arraypruef =0;
    for (int i=25; i!=Anzahl+25; ++i ){
       [U] if (Arraypruef!=25)[/U]
        {
        Studenteninit(stud,counter,25);
        System.out.println("Matr: " + stud[i][0]);
        System.out.println("Geb: " + stud[i][3] + "."+ stud[i][2]+"."+stud[i][1]);
        System.out.println("FB: "+stud[i][4]);
        System.out.println("Alter: "+stud[i][5]);
        Namen();
        Pruefungen();
        ++Arraypruef;
        }
        else System.out.println("Es wurde ein Student zuviel im Array angelegt!");
          
    }
}

public static void main(String[] args) {
   
    int [][] stud = new int  [50][6];
    int counter;
    
    for (int i = 0; i<25;++i){
        
        Studenteninit (stud,25,0);
        System.out.println("Matr: " + stud[i][0]);
        System.out.println("Geb: " + stud[i][3] + "."+ stud[i][2]+"."+stud[i][1]);
        System.out.println("FB: "+stud[i][4]);
        System.out.println("Alter: "+stud[i][5]);          
        Namen();
        Pruefungen();
    }
    
    NeuerStud(26,stud,51); // Anzahl ändern : 1.Wert (1-25), 3. Wert (26-50)jeweils um einen erhöhen.
}     
      
	    

           
                        
                          
                 
           
                
                      
//        Alter();
//        System.out.println("\n\nÄltester: "+max +"\tJüngster: "+min +"\tDurchschnittsalter: "+sum/50);



}
 

tfa

Top Contributor
Das sieht wirklich völlig wild aus.
Wieso fängt dein Schleifenzähler bei 25 an?
Wieso übergibst du 25 an die Studenteninit-Methode als i und weist diesem Parameter dann sofort 0 zu?
 

Michi_1989

Mitglied
Die Schleife fängt bei 25 an, da ich ab der 25 Stelle des Arrays schreiben will, da ja meins Wissens von 0-25 überschreiben wird. Mir fällt da aus der Vorlesung gerade ein, dass in der Methodenübergabe ja nur der Verweis aus Array ist, oder? Dann wäre das ja wirklich ein wenig sinnfrei. Gut das mit i = 0 hätte ich mir wirklich sparen können. Obwohl ich nich weiß ob das sonst funktionier. Wie du wohl erkennen kannst, sollen 25 automatisch erzeugt werden und dann mit einer neuen Methode sollen dann neue Studenten hinzugefügt werden. Allerdings soll wie gesagt eine Fehlermeldung bei 51 Studenten erscheinen. Liegt das nun an meiner wilden Methodenübergabe oder habe ich sonst irgentwas vermurkst ? ^^
 
Zuletzt bearbeitet:
G

guest7655

Gast
Gibt es irgendeinen Grund warum Studenten bei dir keine eigene Klasse sind und du stattdessen mit nichtssagenden zweidimensionalen Arrays herumhantierst?
 

Michi_1989

Mitglied
Jo gibt es. Die Umstellung auf Klassen kommen später. Die Aufgabe ist erst einmal die main durch Methoden zu säubern. Und das mit dem Array war auch Aufgabenstellung
 

Final_Striker

Top Contributor
Die Schleife fängt bei 25 an, da ich ab der 25 Stelle des Arrays schreiben will, da ja meins Wissens von 0-25 überschreiben wird.

Ahja, und wenn mal nicht 25 Studenten automatisch angelegt werden sollen, schreibst du dann deinen Code wieder komplett um oder wie?

Deine Methode ist angefangen beim Namen ("NeuerStud" was soll das, bist du schreibfaul oder was?) bis zur letzten Klammer kompletter Murks.
Am besten markieren und löschen.

Verwende keine festen Werte und auch keine "!=" Vergleiche. Beides brauchst du nicht.
 

Michi_1989

Mitglied
Hmm, nun ja da man ja nur lt. Aufgabenstellung 25 automatisch erzeugen sollte, ging ich davon aus, dass man es so machen kann. Echt so Mist? War froh, dass das bis auf die eigene Fehlermeldung geklappt hat... Aber kannst du mir vielleicht noch meine Ursprungsfrage beantworten? Aus welchem Grund geht die If then else Abfrage denn nun nicht ?
 

Michi_1989

Mitglied
Aber müsste er dann nicht beim nächsten Durchlauf in die else Anweisung gehen und mir meine Fehlermeldung ausgeben? Habe doch in der Main die Methode mit einem Durchlauf mehr aufgerufen, als das Array groß ist.
 

Final_Striker

Top Contributor
Dein ungleich-Vergleich macht weder in der for-Schleife wie auch im if keinen Sinn.

Verwende "<,>,<=,<=" Vergleiche.

Und gib den Variablen und Methoden ordentliche Namen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N "if ... else" geht nicht Java Basics - Anfänger-Themen 7
O if and else geht nur manchmal Java Basics - Anfänger-Themen 17
T if-else Bedingung wird ignoriert Java Basics - Anfänger-Themen 4
I If / Else in Setter? Java Basics - Anfänger-Themen 8
M If-Else Java Basics - Anfänger-Themen 5
monsterherz if / else if mit Fehler den ich leider nicht finde Java Basics - Anfänger-Themen 11
laxla123 Verschachtelte If-Else Schleife Java Basics - Anfänger-Themen 21
laxla123 If-else Java Java Basics - Anfänger-Themen 4
luggas89 If else auch mit unterschiedlichen Antworten Java Basics - Anfänger-Themen 5
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
W Verschachtelte If-else --> finde meinen Fehler nicht Java Basics - Anfänger-Themen 30
pumpgun99 Fehler Meldung "else without if" Java Basics - Anfänger-Themen 3
B Scanner-If/else kleine Abhebungs-Simulation Java Basics - Anfänger-Themen 3
A Übung Else if Java Basics - Anfänger-Themen 2
M Else wird nicht ausgeführt. Java Basics - Anfänger-Themen 5
L If und else bei 2 Dimensionalen Arrays Java Basics - Anfänger-Themen 8
F if else if anfängerfrage Java Basics - Anfänger-Themen 22
T if else Befehl funktioniert nicht richtig Java Basics - Anfänger-Themen 27
C Problem mit If Else If und Überprüfung eines Counters Java Basics - Anfänger-Themen 3
T "Einkauf" & if else Struktur Java Basics - Anfänger-Themen 7
steven789hjk543 Input mit if-else Java Basics - Anfänger-Themen 23
H ERGÄNZUNGSFRAGE: Klammersetzung bei if-else Anweisungen und Schleifen Java Basics - Anfänger-Themen 2
A break; mit Einfluss hinter else if Block Java Basics - Anfänger-Themen 3
R else without if error Java Basics - Anfänger-Themen 5
F Methoden Verschachtelte if else Methode Java Basics - Anfänger-Themen 10
M Java Taschenrechner (if-else) Java Basics - Anfänger-Themen 11
C Variablen 'else' without 'if' Java Basics - Anfänger-Themen 4
F If - Else Java Basics - Anfänger-Themen 3
F Variablen If else: Einer Variable einen Wert hinzufügen oder so? Java Basics - Anfänger-Themen 6
I if/else Statements Java Anfänger Java Basics - Anfänger-Themen 14
M jOptionPane mit if else Java Basics - Anfänger-Themen 16
K Frage zu If & else if Java Basics - Anfänger-Themen 5
R else if anweisungen Java Basics - Anfänger-Themen 2
Y Problem mit If-Else Verzweigung! Java Basics - Anfänger-Themen 9
A Warum funktioniert switch aber nicht if/else? Java Basics - Anfänger-Themen 23
Hijo2006 If-else Java Basics - Anfänger-Themen 6
P Erste Schritte Taschenrechner mit if-else Anweisung Java Basics - Anfänger-Themen 6
T If/ Else If (zurückkehren) Java Basics - Anfänger-Themen 4
O Grosse If / Else verschachtelung übersichlitcher gestlten Java Basics - Anfänger-Themen 6
S Erste Schritte Unterschied "if" und "else if" Java Basics - Anfänger-Themen 27
M If in einem else Java Basics - Anfänger-Themen 14
A boolean Methode ohne If und else Java Basics - Anfänger-Themen 1
J Mehrere IF Anweisungen und dazugehörige ELSE Java Basics - Anfänger-Themen 6
C else in if umschreiben Java Basics - Anfänger-Themen 2
J Fehlermeldung else without if Java Basics - Anfänger-Themen 5
P Compiler-Fehler wieso zeigt der compiler ein else without if? Java Basics - Anfänger-Themen 3
E If...else... Java Basics - Anfänger-Themen 7
G Mehrere If-else-Sätze der Reihe nach durchlaufen lassen Java Basics - Anfänger-Themen 2
C If Else Frage Java Basics - Anfänger-Themen 2
M if, else Anweisung Java Basics - Anfänger-Themen 3
J Ergebnis wird gespammt sowie eine else if Frage Java Basics - Anfänger-Themen 2
A instanceof-if-else-Anweisungen eleganter lösen Java Basics - Anfänger-Themen 5
V Operatoren Java if-else argument Java Basics - Anfänger-Themen 4
D Keine Funktion bei "else" Java Basics - Anfänger-Themen 5
P [ANFÄNGER] if else funktioniert nicht Java Basics - Anfänger-Themen 4
T If, else Problem Java Basics - Anfänger-Themen 12
C IF-Else Verknüpfungen Java Basics - Anfänger-Themen 10
Uzi21 if - else Abfrage Java Basics - Anfänger-Themen 6
T Problem im If-Else-Statement Java Basics - Anfänger-Themen 4
R if funktion ohne else - Bedingung trifft nicht zu, ausgabe nicht nachvollziehbar Java Basics - Anfänger-Themen 7
T If ; else error on system token delete Java Basics - Anfänger-Themen 5
N Best Practice Stilistische Anwendung von if/else-Abfragen Java Basics - Anfänger-Themen 7
L else without if Fehler Java Basics - Anfänger-Themen 14
F try/catch - (else) Java Basics - Anfänger-Themen 11
H Worauf bezieht sich die erste else-Anweisung Java Basics - Anfänger-Themen 9
S if und else problem... Java Basics - Anfänger-Themen 13
Q if-else Logikproblem Java Basics - Anfänger-Themen 4
M Probleme mit else if Java Basics - Anfänger-Themen 15
M Erste Schritte Break-Anweisung bei if-else Java Basics - Anfänger-Themen 6
B OOP If und else in Main class einbinden Java Basics - Anfänger-Themen 9
T Erste Schritte switch case Anweisung und if else Verzweigungen? Java Basics - Anfänger-Themen 6
K Bedingungen else Java Basics - Anfänger-Themen 7
B if-else in einer schleife Java Basics - Anfänger-Themen 14
J Erste Schritte If-Else Idee gesucht Java Basics - Anfänger-Themen 6
T if else Java Basics - Anfänger-Themen 8
R boolean, if-else Java Basics - Anfänger-Themen 7
P int-Wertevergleich mit if-else-Verzweigung Java Basics - Anfänger-Themen 3
P If-else-Verzweigung Java Basics - Anfänger-Themen 9
E Compiler-Fehler Fehler: else without if Java Basics - Anfänger-Themen 11
D Java Einsteiger (boolean, if-else etc.) Java Basics - Anfänger-Themen 7
I Methoden Problem If/Else; Public Void Java Basics - Anfänger-Themen 6
P Anzahl der else if Operatoren begrenzt?? Java Basics - Anfänger-Themen 7
K Mal wieder ein Problem mit If / Else Java Basics - Anfänger-Themen 10
K Anfänger If / Else Problem Java Basics - Anfänger-Themen 5
C if else Abfrage Java Basics - Anfänger-Themen 11
T Umschreiben von switch in if else und umgekehrt Java Basics - Anfänger-Themen 9
C Schleifen, if, else......? Java Basics - Anfänger-Themen 8
2 if und else Java Basics - Anfänger-Themen 9
L If/else nicht korrekt ausgeführt. Java Basics - Anfänger-Themen 22
E Verschachtelte If-Anweisungen - "else without if" Java Basics - Anfänger-Themen 4
S Brauche Hilfe bei if/else Java Basics - Anfänger-Themen 3
S if-else Java Basics - Anfänger-Themen 22
A ein if else problem Java Basics - Anfänger-Themen 13
N If-else-If Leiter Java Basics - Anfänger-Themen 9
U Dringend: Syntax error on token "else" Java Basics - Anfänger-Themen 8
L if else anweisung Java Basics - Anfänger-Themen 2
M If/Else mit Zahlenfolge Java Basics - Anfänger-Themen 13
B Problem mit Variable und if/else Java Basics - Anfänger-Themen 6
H alternativen zu if .. else .. Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben