Schleifen problem

noob38

Mitglied
das ist die Klasse Rechteck:
Java:
 import java.awt.Color;
import java.awt.Graphics;


public abstract class Rechteck extends Component{
	
	public Rechteck(){
		x = Fenster.WIDTH/2; //Mitte des Fensters
		y = Fenster.HEIGHT/2; //Mitte des Fensters
		width = 1;
		height = 1;
		Fenster.add(this); //Rechteck wird auf dem Fenster angezeigt
	}

	@Override
	public void zeichnen(Graphics g) {
		g.setColor(color); //Farbe des Rechtecks wird aktualisiert
		g.fillRect((int)x,(int)y,(int)width,(int)height); //Rechteck wird gemalt
	}

}
und das die Klasse component:
Java:
import java.awt.Color;
import java.awt.Graphics;


public abstract class Component {

	protected double x;
	protected double y;
	protected double width;
	protected double height;
	protected Color color = Color.GREEN;
	

	public abstract void zeichnen(Graphics g);

	public abstract void fahren();


	public void horizontalBewegen(double entfernung) {
		x += entfernung;
	}

	public void vertikalBewegen(double entfernung) {
		y += entfernung;
	}

	public void breiteSetzen(double breite) {
		width = breite;
	}

	public void hoeheSetzen(double hoehe) {
		height = hoehe;
	}
	
	public void positionSetzen(double x, double y){
	    this.x = x;
	    this.y = y;
	}

	public void farbeSetzen(String s) {
		if (s.equalsIgnoreCase("grün")) {
			color = Color.GREEN;
		} else if (s.equalsIgnoreCase("rot")) {
			color = Color.red;
		} else if (s.equalsIgnoreCase("schwarz")) {
			color = Color.BLACK;
		} else if (s.equalsIgnoreCase("blau")) {
			color = Color.BLUE;
		} else if (s.equalsIgnoreCase("cyan")) {
			color = Color.CYAN;
		} else if (s.equalsIgnoreCase("grau")) {
			color = Color.gray;
		} else if (s.equalsIgnoreCase("dunkelgrau")) {
			color = Color.DARK_GRAY;
		} else if (s.equalsIgnoreCase("hellgrau")) {
			color = Color.LIGHT_GRAY;
		} else if (s.equalsIgnoreCase("magenta")) {
			color = Color.MAGENTA;
		} else if (s.equalsIgnoreCase("pink")) {
			color = Color.PINK;
		} else if (s.equalsIgnoreCase("weiß")) {
			color = Color.WHITE;
		} else if (s.equalsIgnoreCase("gelb")) {
			color = Color.YELLOW;
		} else if (s.equalsIgnoreCase("dunkel_grün")){
		 
		    
		  }
	}
	
	public void farbeSetzen(Color color){
		this.color = color;
	}
}
wenn ich nun in einer beispielklasse die methode fahren nenne endet es in einer endlosen schleife, wenn ich doch genau die selbe methode anders nenne dann nicht. kann mir jmd erklären weshalb das so ist? ???:L
 

noob38

Mitglied
hier :
Java:
public class Auto extends Rechteck{
double geschwindigkeit;
boolean Unfall;
boolean abschleppbar;
public Auto(){
positionSetzen(30,30);
breiteSetzen(20);
hoeheSetzen(20);
farbeSetzen("rot");
geschwindigkeit=60;
} 
public void fahren()


{
     
         if((y <=Fenster.HEIGHT-100) && (x <=55)){ //wenn das Rechteck am Ende des Bildschirms angelangt ist     

             vertikalBewegen(3);}
      else 
          if ((y >Fenster.HEIGHT-100)&&(x <Fenster.WIDTH-50))
            horizontalBewegen(3);
      else
          if((y >30) && (x >=Fenster.WIDTH-50 ))
          vertikalBewegen(-3);
    
       else 
          if (( y<=100) && (x> 50))
          horizontalBewegen(-3);
        
if( geschwindigkeit>=30 && geschwindigkeit<60){
         if((y <Fenster.HEIGHT-90) && (x <=55)){ //wenn das Rechteck am Ende des Bildschirms angelangt ist     

             vertikalBewegen(2);}
      else 
          if ((y >=Fenster.HEIGHT-90)&&(x <=Fenster.WIDTH-60))
            horizontalBewegen(2);
      else
          if((y >30) && (x <=Fenster.WIDTH-50 ))
          vertikalBewegen(-2);
    
       else 
          if (( y<=100) && (x> 50))
          horizontalBewegen(-2);
          
}
if( geschwindigkeit>=10 && geschwindigkeit<30){
         if((y <Fenster.HEIGHT-100) && (x <50)){ //wenn das Rechteck am Ende des Bildschirms angelangt ist     

             vertikalBewegen(1);}
      else 
          if ((y >Fenster.HEIGHT-100)&&(x <Fenster.WIDTH-50))
            horizontalBewegen(1);
      else
          if((y >30) && (x ==Fenster.WIDTH-50 ))
          vertikalBewegen(-1);
    
       else 
          if (( y<=100) && (x> 50))
          horizontalBewegen(-1);
          
}
}
public void unfall(){
geschwindigkeit = 0;
vertikalBewegen(0);
horizontalBewegen(0);
abschleppbar=true;
}

}

wenn ich die methode genau so aber anders nenne funktioniert es nicht mehr :s aber weshalb hab ich keine ahnung
kannst du mir da helfen?
 

VfL_Freak

Top Contributor
Moin,

bitte was ???:L???:L

Erkläre bitte mal vernünftig, wo Du was wie benennst und was dann passiert oder nicht passiert ...
Und welche Endlosschleife bitte ??

Hinweis:
Dein Methode "fahren()" ist abstract deklariert, muss also in in einer abgeleiteten Klasse überschrieben werden!
Warum ist "Rechteck" bei Dier ebenfalls abstract ???:L

Schau mal hier:
Java ist auch eine Insel – 6.10 Abstrakte Klassen und abstrakte Methoden

Gruß
Klaus

[EDIT]
Ok, hatte sich mit anderen Posts überschnitten und somit wohl erledigt ...
[/EDIT]
 
Zuletzt bearbeitet:

noob38

Mitglied
in dieser Klasse dann :
Java:
public class Welt
{
  Safetycar sc;
  Auto a;
  Fenster f;
  boolean angekommen;
  public Welt(){
      Auto a = new Auto();
      f= new Fenster();
      int u = 250;
      if( a.x<u){
          angekommen=false;}
          else {
              angekommen=true;
             
            }
          
  
              
        
   do {
    a.fahren();
}while (a.x<u);
      
 
}
}
 

TKausL

Top Contributor
Java:
do {
    a.fahren();
}while (a.x<u);

Die Frage ist ja, ob diese Schleife auch irgendwann Endet. Die Abbruchbedingungen müssen natürlich auch irgendwann zutreffen.
 

noob38

Mitglied
Das habe ich versucht. Die abbruchbedingung war immer erfüllt, jedoch fuhr der wagen trotzdem weiter. hast du nen tipp oder eine Idee wie ich das vllt machen könnte das er zum stehen kommt?
 

TKausL

Top Contributor
Also mit dem Code den du mir bisher gezeigt hast kann das Auto nur solange fahren bis die do-while abbricht. Wenn das Auto also nicht stehenbleibt, läuft auch die Schleife noch.
Nutzt du Eclipse?
Wenn ja, setze ein Breakpoint kurz vor der Schleife, starte als "Debuggen", gehe schritt für schritt weiter und guck dir den Inhalt der Variablen an.
 

noob38

Mitglied
genau das war auch mein Ziel , dass die Methode nach der do-while schleife abbricht tut sie aber nicht. weshalb wieso warum verstehe ich aber nicht, genauso wenig wie ich es machen kann. nein ich benütze bluej kann mir da jmd helfen?
 
T

TryToHelp

Gast
Das ist das selbe wie das hier, oder Täusche ich mich?
http://www.java-forum.org/allgemeine-java-themen/143328-2-objekte-gruppe-zusammenfuegen.html

deine Schleife
Java:
do {
    a.fahren();
}while (a.x<u);

bricht ab, wen
Code:
a.x
gleich oder größer
Code:
u
ist, was ist u, was ist
Code:
a.x
wo wird
Code:
a.x
hochgezählt.
Probier doch mal sowas

Java:
int i=0;
do {
    i++;
    a.fahren();
}while (i<10);

Jetzt müsste es abbrechen und zwar nach 10 itterationen
 

noob38

Mitglied
u sollte der Ort sein andem der Wagen stehen bleiben soll also in dem Fall 250. und a.x ist ja die x variable des Wagens. durch das fahren erhöht sie sich von alleine oder nicht? :s
 
T

TryToHelp

Gast
Hab mir deinen code jetzt nicht genau angeschaut, irgendwie ist der mir zu chaotisch, mach dir halt mal ein paar debugausgaben ;-)

Java:
do {
    System.out.println("a.x ist "+a.x+" und u ist "+u);
    a.fahren();
}while (a.x<u);
 
T

TryToHelp

Gast
das heißt aber doch er hört scheinbar auf zu fahren, wie definiert sich den bei dir fahren, kann ja nicht weiter richtung x fahren, da sonst das x ja hochgezählt werden müsste, was ja laut deinen angaben nicht der fall ist, bewegt sich da dein auto nur noch in y richtung, dann ist es kein wunder, da ja x nicht hochzählt und er so nie die abbruchbedingung erreicht.
gibt er dir dann immer weiter die 249 aus oder die auch nur ein mal?
 

noob38

Mitglied
es ist so das er nixht mehr weiter zählt und die 249 nur einmal vorkommt aber der wagen trotzdem in x richtung weiter fährt. er faehr in meiner methode im kreis sozusagen in einem.fenster von der höhe 600 und breite 800
 
T

TryToHelp

Gast
Das sieht dann so aus, also ob deine Schleife richtig abbricht ;-)
warum dann dein Auto weiter fährt kann ich dir jetzt so nicht sagen, rufst du noch von wo anders deine fahren funktion aus?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Schleifen Problem Java Basics - Anfänger-Themen 2
N Problem mit Schleifen Java Basics - Anfänger-Themen 20
C Erste Schritte While-Schleifen-Problem Java Basics - Anfänger-Themen 3
S for-Schleifen Problem Java Basics - Anfänger-Themen 4
X Methoden Logik-Problem mit Schleifen. Java Basics - Anfänger-Themen 7
N Schleifen Problem Java Basics - Anfänger-Themen 3
H Kleines Problem bei den Schleifen Java Basics - Anfänger-Themen 5
S Timer / Schleifen Verständnis Problem Java Basics - Anfänger-Themen 3
N Input/Output Schleifen - Ausgabe Problem Java Basics - Anfänger-Themen 2
M Schleifen-Problem Java Basics - Anfänger-Themen 7
A OOP Arraybefüllung mit for-Schleifen Problem: Umsprung in die zweite Zeile Java Basics - Anfänger-Themen 11
S Problem mit while-Schleifen Java Basics - Anfänger-Themen 6
S Problem bei Schleifen Java Basics - Anfänger-Themen 4
J Schleifen-Problem mit Arrays Java Basics - Anfänger-Themen 8
A Problem mit for Schleifen und Zeichnen HILFE!!! Java Basics - Anfänger-Themen 6
P while schleifen problem Java Basics - Anfänger-Themen 14
A Mitternachtsformel. Problem mit if Schleifen (Glaub ich). Java Basics - Anfänger-Themen 16
S Problem mit schleifen Java Basics - Anfänger-Themen 2
B Problem bei for Schleifen Java Basics - Anfänger-Themen 5
C Schleifen-Problem Java Basics - Anfänger-Themen 6
N Problem mit Schleifen-Durchlauf Java Basics - Anfänger-Themen 2
T schleifen Java Basics - Anfänger-Themen 3
Kingdako Wie löse ich eine Mathematische Formel mit Arrays und Schleifen? Java Basics - Anfänger-Themen 32
S Erste Schritte While Schleifen Java Basics - Anfänger-Themen 11
M geschachtelte for-Schleifen - Einmaleins ausgeben Java Basics - Anfänger-Themen 3
Mikejr Schleifen Java Basics - Anfänger-Themen 4
java-starter Erste Schritte Mit While Schleifen Programme schreiben Java Basics - Anfänger-Themen 4
K geschachtelte "for-Schleifen" Java Basics - Anfänger-Themen 3
Alen123 Potenzen in Schleifen Java Basics - Anfänger-Themen 26
Alen123 String wiederholen mit Schleifen Java Basics - Anfänger-Themen 1
A Schleifen und Boolsche Ausdrücke Java Basics - Anfänger-Themen 42
W Schleifen Java Basics - Anfänger-Themen 36
S Interaktive Abfrage, Hilfe mit Schleifen! Java Basics - Anfänger-Themen 6
Mojtaba1986 Hausaufgabe (Schleifen) Java Basics - Anfänger-Themen 33
A Schleifen Verzweigungen Java Basics - Anfänger-Themen 18
C Sind die while-Schleifen richtig in for-Schleifen ersetzt worden? Java Basics - Anfänger-Themen 8
H Muster mit verschachtelten Schleifen kreieren. Java Basics - Anfänger-Themen 2
A Schleifen in Java Java Basics - Anfänger-Themen 4
A Schleifen, Hilfe! Java Basics - Anfänger-Themen 6
C Schleifen Durchlauf Java Basics - Anfänger-Themen 7
M While-Schleifen-Fehler Java Basics - Anfänger-Themen 4
J Schleifen Wiederholendes Zeichenmuster Java Basics - Anfänger-Themen 4
K For-Schleifen Ablauf Java Basics - Anfänger-Themen 5
L Anzahl der Aufrufe von Schleifen bestimmen Java Basics - Anfänger-Themen 1
S Hilfe bei Java Aufgabe (Schleifen) Java Basics - Anfänger-Themen 25
B Verschachtelte For Schleifen Java Basics - Anfänger-Themen 8
G Input/Output Schleifen Durchlauf Java Basics - Anfänger-Themen 5
A Erste Schritte Schleifen Java Basics - Anfänger-Themen 5
J Muster und Schleifen Java Basics - Anfänger-Themen 33
H ERGÄNZUNGSFRAGE: Klammersetzung bei if-else Anweisungen und Schleifen Java Basics - Anfänger-Themen 2
scratchy1 Argumente mit verschiedenen Schleifen ausgeben Java Basics - Anfänger-Themen 3
C Schleifen Java Basics - Anfänger-Themen 12
E geschachtelte for-schleifen Java Basics - Anfänger-Themen 6
L Übungsaufgabe zu Schleifen Java Basics - Anfänger-Themen 7
W Erste Schritte Rechnen mit Schleifen? Denkanstoß gesucht Java Basics - Anfänger-Themen 15
A Erste Schritte for-Schleifen vereinfachen Java Basics - Anfänger-Themen 5
S Immer das selbe mit den Schleifen Java Basics - Anfänger-Themen 24
kokojamboo92 Schleifen und Arrays Java Basics - Anfänger-Themen 7
O Array, geschachtelte For-Schleifen Java Basics - Anfänger-Themen 34
S While-Schleifen Ausgabe als String? Java Basics - Anfänger-Themen 1
R Threads Pause zwischen zwei Schleifen Java Basics - Anfänger-Themen 1
D verschachtelte Schleifen Java Basics - Anfänger-Themen 6
H Schleifen (anfänger) Java Basics - Anfänger-Themen 13
C Variablen in Schleifen außerhalb verwenden Java Basics - Anfänger-Themen 2
L Schachbrettnummerierung mit Schleifen.. Java Basics - Anfänger-Themen 3
H Schleifen Java Basics - Anfänger-Themen 8
L Zahlentripel und for-Schleifen Java Basics - Anfänger-Themen 2
T Spezielle Aufgabe zu Schleifen Java Basics - Anfänger-Themen 3
T Erste Schritte Schleifen-Stop Java Basics - Anfänger-Themen 14
kilopack15 Rekursion und Schleifen Java Basics - Anfänger-Themen 27
I Mehre While-Schleifen hintereinander Java Basics - Anfänger-Themen 13
P Terminieren diese Schleifen Java Basics - Anfänger-Themen 6
L Was heißt terminieren bei Schleifen? Java Basics - Anfänger-Themen 3
I Brauche Hilfe bei Schleifen Java Basics - Anfänger-Themen 18
W Schleifen bei Greenfoot Java Basics - Anfänger-Themen 4
B Operatoren Stopp von Schleifen Java Basics - Anfänger-Themen 9
K Loop ohne Schleifen Java Basics - Anfänger-Themen 2
V Rechenzeichen bei Termen - Darstellung bei Schleifen Java Basics - Anfänger-Themen 7
E Muster auf der Konsole ausgeben lassen (Schleifen) Java Basics - Anfänger-Themen 7
C Erste Schritte Probleme bei Aufgaben zu Schleifen Java Basics - Anfänger-Themen 11
F OOP Schleifen und Probleme mit Setter und Getter Java Basics - Anfänger-Themen 1
L Blöcke bei verschachtelten Schleifen Java Basics - Anfänger-Themen 3
L Kurze Frage zu verschachtelten Schleifen Java Basics - Anfänger-Themen 3
E Erste Schritte Sternchenpyramide mit For-Schleifen erstellen Java Basics - Anfänger-Themen 9
H Best Practice Wie mit break verschachtelte Schleifen komplett verlassen? Java Basics - Anfänger-Themen 2
arti28 Erste Schritte For-Schleifen und While-Schleifen, String als Muster ausgeben. Java Basics - Anfänger-Themen 3
T [Schleifen] Schleifenproblem Java Basics - Anfänger-Themen 4
F Verschachtelte Schleifen Java Basics - Anfänger-Themen 4
J Hilfe verschachtelte Schleifen Java Basics - Anfänger-Themen 5
O Geschachtelte For-Schleifen Java Basics - Anfänger-Themen 1
D Zeichnen, Schleifen Java Basics - Anfänger-Themen 7
S Zeichnen , Schleifen Java Basics - Anfänger-Themen 4
L Schleifen und Array, nur letzte Eingabe wird ausgegeben Java Basics - Anfänger-Themen 3
Z Frage zu for-Schleifen Java Basics - Anfänger-Themen 5
M Wie kann ich eine Ausgabe vervielfachen? (Schleifen) Java Basics - Anfänger-Themen 4
Z Schleifen Beispiel: Fakultät Java Basics - Anfänger-Themen 26
T Erneute Frage zu Schleifen Java Basics - Anfänger-Themen 4
V Schleifen die nicht voneinander abhängen! (für CAN-BUS) Java Basics - Anfänger-Themen 10
T Anfängerfrage zu Schleifen und Arrays Java Basics - Anfänger-Themen 5
W Methoden While Schleifen Ergebnis im String speichern Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben