# Könnte Hilfe gebrauchen



## fa07b (17. Jul 2008)

Hallo !

bin ein anfänger in sachen java... habe folgende aufgabe:
Ich soll eine Klasse Rechteck schreiben, die ein einfaches zweidimensionales Rechteck abbildet. Nach außen soll es diese Schnittstelle bereitstellen:
1.Der Konstruktor bekommt die ganzzahlige Breite und Höhe des Rechtecks übergeben
2.flaeche() gibt die Grundfläche des Rechtecks zurück
3.isQuadrat() prüft, ob das Rechteck ein Quadrat ist

Wie kann man prüfen ob das Rechteck ein Quadrat ist??  :?: 

gruß...


----------



## SlaterB (17. Jul 2008)

könnte eine Antwort sein:

mal dir doch mal zwei Quadrate auf und zwei Rechtecke, die nicht Quadrate sind,
wenn du das mit dem Bleistift hinbekommst, dann musst du doch irgendein System verfolgen,
kannst du das nicht sprachlich formulieren?

ansonsten auch überall in jedem Lehrbuch/ google nachzulesen

http://www.google.de/search?hl=de&q=Quadrat&meta=
erster Link, fast in der ersten Zeile..

unter
http://de.wikipedia.org/wiki/Rechteck
steht auch verwiesen, wann es ein Quadrat ist


----------



## BjörnBu (17. Jul 2008)

Ein Rechteckt hat nur zwei variable Informationen. Die Länge und die Breite.
Genau das werden deine Attribute.

Die beiden methoden benutzen dann die Attribute. Fläche multipliziert sind und *isQuadrat gibt aus, ob sie gleich groß sind.*
Ich weiß nicht, ob dein Problem war, dass dir nicht aufgefallen ist, dass ein Qudrat ein Rechteck mit gleich großen Seiten ist, oder ob du falsche Attribute gewählt hast und die Fläche z.B. schon im Kontruktor berechnen wolltest.

in UML in etwa so:
___________________
|  Rechteck
|___________________
|- laenge: int
|- breite: int
|___________________
|+ flaeche(): int
|+ isQuadrat(): boolean
|___________________
´

Den Code solltest du mit dem text oben eigentlich hin bekommen. An sonsten ließ nochmal das eine oder andere Tutorial. Wenn gar nicht geht, sag Bescheid, dann mach ich (oder irgendwer) den auch noch.


----------



## Saxony (17. Jul 2008)

Hiho,

wieso postest du nicht alles in einem Thread?


```
public class Rectangle {
	
    private int width;
    private int height;
	
    public Rectangle(int aWidth, int aHeight) {
		
        this.width = aWidth;
        this.height = aHeight;
    }
	
    public int getArea() {
		
        return this.width * this.height;
    }
	
    public boolean isSquare() {
	
        return this.width == this.height;
    }
	
    public String printRectangle() {
		
        StringBuffer erg = new StringBuffer();
		
        for (int i = 0; i < this.height; i++) { 
            for (int j = 0; j < this.width; j++) 
                erg.append("*"); 
            erg.append("\n"); 
        }
		
        return erg.toString();
    }
	
    public String toString() {
		
        StringBuffer erg = new StringBuffer();
		
        erg.append("Fläche: " + this.getArea() + " FE\n");
        erg.append("Quadrat: " + ((this.isSquare())?"ja":"nein") + "\n");
        erg.append(this.printRectangle());
		
        return erg.toString();
    }
	
    public static void main(String[] args) {
		
        Rectangle r1 = new Rectangle(12, 5);
        Rectangle r2 = new Rectangle(4, 4);
		
        System.out.println(r1.toString());
        System.out.println(r2.toString());
    }
}
```

Ausgabe:


```
Fläche: 60 FE
Quadrat: nein
************
************
************
************
************

Fläche: 16 FE
Quadrat: ja
****
****
****
****
```

bye Saxony


----------



## Beni (17. Jul 2008)

Scheint eine Hausaufgabe zu sein.

*verschoben*


----------



## Saxony (17. Jul 2008)

BjoernBu hat gesagt.:
			
		

> Den Code solltest du mit dem text oben eigentlich hin bekommen. An sonsten ließ nochmal das eine oder andere Tutorial. Wenn gar nicht geht, sag Bescheid, dann mach ich (oder irgendwer) den auch noch.



Zu spät! 

bye Saxony


----------

