Java programmieren punkt innerhalb einer Fläche
Hallo Kann jemand mir bei der ersten Aufgabe helfen. Komme irgendwie nicht weiter
Frage:Zwischen den Punkten P(2,3) und Q(14, -15) spannt sich ein Rechteck-Fläche auf (Seiten parallel zu den Achsen des Koordinatensystems). Vervollständigen Sie die Methode enthaeltPunkt, die zurückgeben soll, ob ein Punkt (angegeben durch die Parameter x und y) innerhalb dieser Fläche liegt.
Quellcode: public boolean enthaeltPunkt(int x, int y) { // hier die Lösung eintragen... }
meine Lösung;public boolean enthaeltPunkt(int x, int y) { // hier die Lösung eintragen... boolean b;
double g;
g=x*y;
if (b<=g){
return true;
}else
return false;
2 Antworten
![](https://images.gutefrage.net/media/user/TUrabbIT/1444748912_nmmslarge.jpg?v=1444748912000)
Mach dir einfach klar, welche Werte ein Punkt haben muss um innerhalb der Fläche zu sein.
Das wäre: X Koordinate: 2<=x<=14 und y-Koordinate -15<=y<=3. Das überprüfst du mit einer if-Abfrage und schon hast du dein Ergebnis
![](https://images.gutefrage.net/media/user/TUrabbIT/1444748912_nmmslarge.jpg?v=1444748912000)
Du musst eigentlich nur noch das von mir geschriebene in Code umwandeln.
Du bekommst zwei Werte rein, int x für die x Koordinate und int y für die y-Koordinate.
Hier das ganze noch in Pseudo-Code, den Rest musst du selber schaffen.
Also:
Wenn x>=2 UND x<=14 Dann
Wenn y>=-15 UND y<3 Dann
return TRUE
Sonst:
return FALSE
Ende
![](https://images.gutefrage.net/media/user/TUrabbIT/1444748912_nmmslarge.jpg?v=1444748912000)
Kann dir für die weiteren Methoden empfehlen, dir einfach mal die Sache in ein Koordinaten System einzuzeichnen um es daran nachzuvollziehen.
Gut dafür ist z.B. Geogebra: http://web.geogebra.org/app/#
![](https://images.gutefrage.net/media/user/smplayerjan90/1431264302615_nmmslarge.jpg?v=1431264300000)
![](https://images.gutefrage.net/media/default/user/0_nmmslarge.png?v=1438863662000)
Rectangle r = new Rectangle(1, 2, 3, 4);
Point p = new Point(2, 4);
if (p.x >= r.x && p.x <= r.x + r.width && p.y >= r.y && p.y <= r.y + r.height) {
System.out.println("Juhuuu!");
}
![](https://images.gutefrage.net/media/user/smplayerjan90/1431264302615_nmmslarge.jpg?v=1431264300000)
Danke aber eclipse zeigt immer noch fehler an.
hier der volle quellcode
public class Miniprojekt1 {public boolean enthaeltPunkt(int x, int y) {// hier die Lösung eintragen...}public double kreisFlaeche(double radius) {// hier die Lösung eintragen...}public double kreisUmfang(double radius) {// hier die Lösung eintragen...}public double rechteckFlaeche(double laenge, double breite) {// hier die Lösung eintragen...}public boolean kreisKleinerRechteck(double radius, double laenge,double breite) {// hier die Lösung eintragen...}public double laenge(double x1, double y1, double x2, double y2) {// hier die Lösung eintragen...}public double funktion1(double x) {// hier die Lösung eintragen...}public double funktion2(double x) {// hier die Lösung eintragen...}public static void main(String[] s) {Miniprojekt1 m1 = new Miniprojekt1();System.out.println("R(5|4) liegt innerhalb der Fläche: "+ m1.enthaeltPunkt(5, 4));System.out.println("S(-5|12) liegt innerhalb der Fläche: "+ m1.enthaeltPunkt(-5, 12));System.out.println("Fläche Kreis Radius 3: " + m1.kreisFlaeche(3));System.out.println("Umfang Kreis Radius 4,2: " + m1.kreisUmfang(4.2));System.out.println("Kreis Radius 6 kleiner Rechteck 2 mal 3: "+ m1.kreisKleinerRechteck(6, 2, 3));System.out.println("Länge (-1,5) (2,-1): " + m1.laenge(2, -1, -1, 5));System.out.println("Aufruf von funktion1 mit x=2 liefert den Wert: "+ m1.funktion1(2));System.out.println("Aufruf von funktion2 mit x=4 liefert den Wert: "+ m1.funktion2(4));}}
![](https://images.gutefrage.net/media/default/user/15_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/user/TUrabbIT/1444748912_nmmslarge.jpg?v=1444748912000)
Wenn du Hilfe brauchst, nie unformatierten Code posten, das möchte keiner lesen...
![](https://images.gutefrage.net/media/user/JavaTheHutt/1444749950_nmmslarge.jpg?v=1444749950000)
Entweder hast du Quellcode vergessen oder dieser ergibt keinen Sinn. Die Deklaration der Methode "enthaeltPunkt(int x, int y)" ist syntaktisch richtig, logisch aber nicht. Du hast keine Klasse / Variablen, die die Werte des Rechtecks speichern (Höhe, Breite, Eckpunkt). Somit kannst du das entsprechende gar nicht berechnen.
![](https://images.gutefrage.net/media/user/TUrabbIT/1444748912_nmmslarge.jpg?v=1444748912000)
Ich denke das ist ein Schul/Uni Übungsaufgabe und die Vorgaben für die Objekte stehen im Aufgabentext. Es gibt kein Rechteck Objekt hier.
![](https://images.gutefrage.net/media/user/JavaTheHutt/1444749950_nmmslarge.jpg?v=1444749950000)
Deswegen sollte die Methodensignatur angepasst werden oder die Werte an anderer Stelle gespeichert werden.
![](https://images.gutefrage.net/media/user/TUrabbIT/1444748912_nmmslarge.jpg?v=1444748912000)
Das ist hier nicht vorgesehen, wäre besser aber ist nicht erwünscht.
könntest du es bitte machen stehe gerade im schlauch