Anfängerproblem

Status
Nicht offen für weitere Antworten.

jsliderex

Mitglied
Hallo!
Ich bin absoluter Neuling auf dem Gebiet JAVA und hoffe dass ihr mir bei meinem Problem helfen könnt! :)

Aufgabenstellung:
Gegeben sei ein Viertelkreis mit dem Radius 1 cm und dem Mittelpunkt im
Punkt (0/0) sowie ein umschreibendes Quadrat.
Schreibe ein Programm, das die x- und y Koordinate eines beliebigen Punktes
einliest und feststellt, ob der Punkt im Quadrat, aber nicht im Kreis liegt
(schwarz gefüllter Bereich). Gib aus, ob die Bedingungen erfüllt sind bzw.
welche Bedingung verletzt ist.




Problem:

Wenn ich x=1 und y=1 setze, bekomme ich 2 Ausgaben, nämlich dass
1.)der Punkt im schwarzen Bereich liegt
2.)der Punkt nicht im Quadrat und nicht im Kreis liegt
Dass kann ja gar nicht möglich sein.

Mein Code:
Java:
 public static void main(String[] args) {
    Out.println("Geometrie Viertelkreis");
		
		double x;															
		Out.println("Bitte Wert fuer Variable x eingeben: ");				
		x = In.readDouble();												
		
		double y;															
		Out.println("Bitte Wert fuer Variable y eingeben: ");				
		y = In.readDouble();											
		
		double d;															
		d = Math.sqrt(x*x+y*y);												
		
		if (x >= 0 && x <= 1){												
		
			if (y >= 0 && y <= 1){											
			
				if (d >=1){													
					Out.println("Der Punkt liegt im schwarzen Bereich");	
					}
					}
					
					
							
						if (d <1){											
								
							Out.println("Der Punkt liegt im Kreis");		
								}
								
								else{ 										
								
									Out.println("Der Punkt liegt nicht im Quadrat und nicht im Kreis"); 
								
								}
								
					
							
								
					
				
					
					
					
		
  }
}

Wäre sehr nett wenn mir jemand einen Hinweis geben könnte, rätsel da jetzt schon eine Weile dran rum und ich komm einfach nicht drauf!
 

javimka

Top Contributor
für x=1 und y=1 ergibt sich d=1.
Dann wird geprüft: Falls d>=1, ==> Der Punkt liegt im schwarzen Bereich
Dann wird getestet ob d<1, was natürlich nicht der Fall ist und deswegen der else-Zweig ausgeführt: Der Punkt liegt nicht im Quadrat und nicht im Kreis

Das Math.sqrt() kannst du dir überigens sparen, es hat keinen Einfluss auf das Resultat, weil Wurzel 1 = 1.
 

Ark

Top Contributor
Dein Code, mal etwas übersichtlicher:
Java:
public static void main(String[] args) {
	Out.println("Geometrie Viertelkreis");

	Out.println("Bitte Wert fuer Variable x eingeben: ");
	double x = In.readDouble();

	Out.println("Bitte Wert fuer Variable y eingeben: ");
	double y = In.readDouble();

	double d = Math.sqrt(x*x+y*y);

	if (x >= 0 && x <= 1){
		if (y >= 0 && y <= 1){
			if (d >=1){
				Out.println("Der Punkt liegt im schwarzen Bereich");
			}
		}
		if (d <1){
			Out.println("Der Punkt liegt im Kreis");
		}
		else{
			Out.println("Der Punkt liegt nicht im Quadrat und nicht im Kreis");
		}
	}
}
Die ersten beiden ifs (so, wie sie da stehen) ergeben nicht wirklich Sinn, oder welchen sollen sie haben? ???:L

Ich glaube, das Problem ist nicht Java, sondern eine mathematischen Kenntnisse.

Ark
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben