myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Java do while schleifen problem

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 26.03.12, 18:24   #1
Meisterroper
Ohh die Meisterröstung!
 
Benutzerbild von Meisterroper
 
Registriert seit: Jun 2011
Ort: Deutschland
Beiträge: 101
Bedankt: 78
Meisterroper leckt gerne myGully Deckel in der Kanalisation! | 138768 Respekt PunkteMeisterroper leckt gerne myGully Deckel in der Kanalisation! | 138768 Respekt PunkteMeisterroper leckt gerne myGully Deckel in der Kanalisation! | 138768 Respekt PunkteMeisterroper leckt gerne myGully Deckel in der Kanalisation! | 138768 Respekt PunkteMeisterroper leckt gerne myGully Deckel in der Kanalisation! | 138768 Respekt PunkteMeisterroper leckt gerne myGully Deckel in der Kanalisation! | 138768 Respekt PunkteMeisterroper leckt gerne myGully Deckel in der Kanalisation! | 138768 Respekt PunkteMeisterroper leckt gerne myGully Deckel in der Kanalisation! | 138768 Respekt PunkteMeisterroper leckt gerne myGully Deckel in der Kanalisation! | 138768 Respekt PunkteMeisterroper leckt gerne myGully Deckel in der Kanalisation! | 138768 Respekt PunkteMeisterroper leckt gerne myGully Deckel in der Kanalisation! | 138768 Respekt Punkte
Standard Java do while schleifen problem

Hi leutz ich komm grad aufn punkt
Code:
import java.util.Scanner;
public class bersarker {
    public static void main(String[] args) {
      int i=0, j=0;
      int [] typ = {22,25,27,20};
      boolean Pos = false;
      boolean Pos1 = false;
      boolean Pos2 = false;
      boolean Pos3 = false;
      boolean Geraten = false;
      boolean Geraten2 = false;
      boolean Geraten3 = false;
      boolean Geraten4 = false;
      int [] getippt = new int [4];
      do {
      System.out.println ("Wir haben vier typen, Jeder ist in den 20igern. Zusammen sind sie 94 Jahre alt. Wie alt sind sie aber alleine? ");
      Scanner eingabe = new Scanner (System.in);
      getippt [0] = eingabe.nextInt();
      getippt [1] = eingabe.nextInt();
      getippt [2] = eingabe.nextInt();
      getippt [3] = eingabe.nextInt();
      
        if (getippt[0] == typ [0]){
          Pos = true;
             i++;
             j++;
        }
        else
        if (getippt[0] == typ[1] ||getippt[0] == typ[2] ||getippt[0] == typ[3]) {
                 Geraten = true;
                  i++;
        }

        if (getippt[1] == typ[1]){
            Pos1 = true;
                 i++;
                 j++;
        }
        else
        if (getippt[1] == typ[0] ||getippt[1] == typ[2] ||getippt[1] == typ[3]) {
                 Geraten2 = true;
                  i++;
        }
      
        if (getippt[2] == typ [2]){
              Pos2 = true;
                i++;
                j++;
        }
        else
        if (getippt[2] == typ[0] ||getippt[2] == typ[1] ||getippt[2] == typ[3]) {
                 Geraten3 = true;
                  i++;
        }
      
        if (getippt[3] == typ [3]){
               Pos3 = true;
                i++;
                j++;
        }
        else
        if (getippt[3] == typ[0] ||getippt[3] == typ[1] ||getippt[3] == typ[2]) {
                 Geraten4 = true;
                  i++;
        }
        }
        while (i == 4 && j == 4);
        if (Pos == true && Pos1 == true && Pos2 == true && Pos3 == true){
          System.out.print("Glückwunsch du hast jedes alter erraten!"+j);
        }
        else{
            System.out.println("Teffer : " +i);
        System.out.println("Aber leider nicht in der richtigen rheienfolge!");
         }
  }

}
wo liegt der fehler wenn man alle richtig eingibt und die position auch richtig ist wiederholt sich alles wenn aber nur die position oder die zahl generell falsch ist beendet sich das Programm. Warum ???
__________________

[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Meisterroper ist offline   Mit Zitat antworten
Ungelesen 26.03.12, 19:32   #2
Fire.Storm
Erfahrenes Mitglied
 
Benutzerbild von Fire.Storm
 
Registriert seit: Aug 2009
Beiträge: 504
Bedankt: 63
Fire.Storm erschlägt nachts Börsenmakler | 24828 Respekt PunkteFire.Storm erschlägt nachts Börsenmakler | 24828 Respekt PunkteFire.Storm erschlägt nachts Börsenmakler | 24828 Respekt PunkteFire.Storm erschlägt nachts Börsenmakler | 24828 Respekt PunkteFire.Storm erschlägt nachts Börsenmakler | 24828 Respekt PunkteFire.Storm erschlägt nachts Börsenmakler | 24828 Respekt PunkteFire.Storm erschlägt nachts Börsenmakler | 24828 Respekt PunkteFire.Storm erschlägt nachts Börsenmakler | 24828 Respekt PunkteFire.Storm erschlägt nachts Börsenmakler | 24828 Respekt PunkteFire.Storm erschlägt nachts Börsenmakler | 24828 Respekt PunkteFire.Storm erschlägt nachts Börsenmakler | 24828 Respekt Punkte
Standard

Mach das nächste mal ein paar Kommentare rein oder erklär wenigstens was das überhaupt generell tun soll.
Ich weiß nämlich nicht so richtig was du da überhaupt machst, aber sehn wir davon mal ab.
Wahrscheinlich liegt den Fehler in der while-Bedingung.
Code:
while (i == 4 && j == 4);
Die sagt im Prinzip so viele wie, dass deinen Schleife solange durchgeführt wird wie i == 4 und j == 4 ist.
Das dürfte aber nur der Fall sein, wenn du alles richtig geraten hast. (zu Mindest glaub ich das aus dem Code rauslesen zu können)
Richtig wäre vermutlich
Code:
while (i != 4 || j != 4);
Aber so richtig wissen tu ichs jetzt auch nicht, weil ich den Code einfach nich durchschau.

Was machen die Variablen i und j?
Für was sind die Pos Variablen gut?
Und für was sind die Variablen Geraten gut, obwohl du sie praktisch nur auf true setzt und sonst nirgendwo verwendest?
Fire.Storm ist offline   Mit Zitat antworten
Ungelesen 27.03.12, 01:26   #3
waldfee0071
Ist öfter hier
 
Benutzerbild von waldfee0071
 
Registriert seit: Nov 2009
Beiträge: 219
Bedankt: 189
waldfee0071 ist noch neu hier! | 0 Respekt Punkte
Standard

die geraten-variablen werden nirgends benutzt und die while schleife funktioniert nicht, da die niedlichen geschwungenen klammern fehlen und n selikolon dahinter ist.

Code:
     
while (i == 4 && j == 4)
 {
   if (Pos == true && Pos1 == true && Pos2 == true && Pos3 == true)
 {
     System.out.print("Glückwunsch du hast jedes alter erraten!"+j);
 }
   else
 {
     System.out.println("Teffer : " +i);
     System.out.println("Aber leider nicht in der richtigen reihenfolge!");
 }
ich hab zwar keine ahnung von java, aber so machts auf jeden fall mehr sinn
waldfee0071 ist offline   Mit Zitat antworten
Ungelesen 27.03.12, 06:00   #4
Your_Conscience
Hinter dir!
 
Registriert seit: Apr 2010
Beiträge: 1.125
Bedankt: 487
Your_Conscience ist noch neu hier! | 0 Respekt Punkte
Standard

Was hat denn das Programm für eine Logik?
Woher soll man wissen, dass wenn 4 Personen zusammen 94 sind, man 22, 25, 27, 20 eingeben muss? 22, 23, 24, 25 ist genauso richtig.

Und wie willst du es denn haben? Soll es sich, unabhängig von der Eingabe, unendlich oft wiederholen?
Your_Conscience ist offline   Mit Zitat antworten
Ungelesen 27.03.12, 08:42   #5
jon.west
Anfänger
 
Registriert seit: Oct 2010
Beiträge: 39
Bedankt: 33
jon.west ist noch neu hier! | 0 Respekt Punkte
Standard

Wieso soll es keine Logik haben? Vielleicht soll man ja das Alter von 4 BESTIMMTEN Personen raten - weißt du ja nicht

Wieso man immer alles mies reden muss, verstehe ich nicht Lasst dem Jungen doch seinen Spaß
jon.west ist offline   Mit Zitat antworten
Ungelesen 27.03.12, 19:10   #6
Meisterroper
Ohh die Meisterröstung!
 
Benutzerbild von Meisterroper
 
Registriert seit: Jun 2011
Ort: Deutschland
Beiträge: 101
Bedankt: 78
Meisterroper leckt gerne myGully Deckel in der Kanalisation! | 138768 Respekt PunkteMeisterroper leckt gerne myGully Deckel in der Kanalisation! | 138768 Respekt PunkteMeisterroper leckt gerne myGully Deckel in der Kanalisation! | 138768 Respekt PunkteMeisterroper leckt gerne myGully Deckel in der Kanalisation! | 138768 Respekt PunkteMeisterroper leckt gerne myGully Deckel in der Kanalisation! | 138768 Respekt PunkteMeisterroper leckt gerne myGully Deckel in der Kanalisation! | 138768 Respekt PunkteMeisterroper leckt gerne myGully Deckel in der Kanalisation! | 138768 Respekt PunkteMeisterroper leckt gerne myGully Deckel in der Kanalisation! | 138768 Respekt PunkteMeisterroper leckt gerne myGully Deckel in der Kanalisation! | 138768 Respekt PunkteMeisterroper leckt gerne myGully Deckel in der Kanalisation! | 138768 Respekt PunkteMeisterroper leckt gerne myGully Deckel in der Kanalisation! | 138768 Respekt Punkte
Standard

Wenn ich die while schleife mit {..} mache geht das nicht. nur ; ist erlaubt und ausserdem wenn du die else bedingung ließt siehst du wie viele treffe du hast aber das sie halt nicht in der richtigen rheienfolge liegen. und das mit dem != klappt teils den rest muss ich nochmal ausprobieren.
__________________

[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Meisterroper ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:01 Uhr.


Sitemap

().