Hey, bin neu hier und hoffe ich bin richtig!
Falls es schon ne Lösung hier gibt - steinigt mich - aber ich hab leider nix gefunden..
Aufgabe:
Ich soll ein Programm schreiben um den Flächeninhalt von Quadrat, Rechteck, Dreieck und Kreis berechnen (alle 4 haben ne eigene klasse)
Die Attribute sollen generisch und vom datentyp eines kindes der klasse number sein.. also Integer, Double usw..
Klassen sollen alle IFlaecheninhalt implementieren:
Dann soll ich ein hauptprogramm schreiben, das ein IFlaecheninhalt-Array mit 8 Elementen von jeweils zwei Objekten der Klassen (also eins mit Integer - Attributen und eins mit Double - Attributen) anlegt
und dann halt natürlich den Flächeninhalt ausrechnet und ausgibt.
Was ich soweit hab:
Die Klassen Dreieck, Kreis, Quadrat und Rechteck. Ich geb jetzt hier mal nur Rechteck an da der rest gleich aufgebaut ist.
Klasse Hauptprogramm:
Und zum Schluss noch die Probleme:
aaaalso: Funktionieren tut eigentlich gar nichts. Es geht schonmal los mit dem Konstruktor in den einzelnen Klassen. Ich weiß leider nicht wie der ausschaun muss und dass Eclipse - wenn der konstruktor leer ist - rummeckert dass Integer und Double nicht definiert ist.
In dem Fall hier mault er nur noch beim Double.
wie mach ich das besser?
und dann weiß ich auch nicht ob
flaecheRechteck = breite.doubleValue() * hoehe.doubleValue();
das hier so stimmt. auf jeden fall wird ohne das .doubleValue() " * " nicht akzeptiert.. was ist in dem fall mit Integer werten? die müssten ja auch als double ausgegeben werden oder?
und ausgegeben wird leider gar nichts..
würd mich echt rießig über hilfe freuen
Falls es schon ne Lösung hier gibt - steinigt mich - aber ich hab leider nix gefunden..
Aufgabe:
Ich soll ein Programm schreiben um den Flächeninhalt von Quadrat, Rechteck, Dreieck und Kreis berechnen (alle 4 haben ne eigene klasse)
Die Attribute sollen generisch und vom datentyp eines kindes der klasse number sein.. also Integer, Double usw..
Klassen sollen alle IFlaecheninhalt implementieren:
Java:
public interface IFlaechenInhalt {
public double gibFlaechenInhalt();
}
Dann soll ich ein hauptprogramm schreiben, das ein IFlaecheninhalt-Array mit 8 Elementen von jeweils zwei Objekten der Klassen (also eins mit Integer - Attributen und eins mit Double - Attributen) anlegt
und dann halt natürlich den Flächeninhalt ausrechnet und ausgibt.
Was ich soweit hab:
Die Klassen Dreieck, Kreis, Quadrat und Rechteck. Ich geb jetzt hier mal nur Rechteck an da der rest gleich aufgebaut ist.
Java:
package Aufgabe5I;
public class Rechteck <T extends Number> implements IFlaechenInhalt {
// Attribute
public T breite;
public T hoehe;
// getter + setter
public T getBreite() {
return breite;
}
public void setBreite(T breite) {
this.breite = breite;
}
public T getHoehe() {
return hoehe;
}
public void setHoehe(T hoehe) {
this.hoehe = hoehe;
}
// Konstruktor
public Rechteck(T Integer, T Double) {
}
// Fläche berechnen
public double gibFlaechenInhalt() {
double flaecheRechteck;
flaecheRechteck = breite.doubleValue() * hoehe.doubleValue();
return flaecheRechteck;
}
}
Klasse Hauptprogramm:
Java:
package Aufgabe5I;
import java.util.ArrayList;
public class Testprogramm {
/**
* @param args
*/
public static void main(String[] args) {
ArrayList<IFlaechenInhalt> formen = new ArrayList<IFlaechenInhalt>();
// Dreieck hinzufügen
formen.add(new Dreieck<Integer>(5, 4));
formen.add(new Dreieck<Double>(5.4, 3.5));
// Kreis hinzufügen
formen.add(new Kreis<Integer>(4));
formen.add(new Kreis<Double>(3.9));
// Quadrat hinzufügen
formen.add(new Quadrat<Integer>(5));
formen.add(new Quadrat<Double>(5.4));
// Rechteck hinzufügen
formen.add(new Rechteck<Integer>(5, 4));
formen.add(new Rechteck<Double>(5.4, 7,5));
int lauf = 0;
for (IFlaechenInhalt x : formen) {
System.out.println(lauf + ". Stelle = " + x.gibFlaechenInhalt()); lauf++;
}
}
}
Und zum Schluss noch die Probleme:
aaaalso: Funktionieren tut eigentlich gar nichts. Es geht schonmal los mit dem Konstruktor in den einzelnen Klassen. Ich weiß leider nicht wie der ausschaun muss und dass Eclipse - wenn der konstruktor leer ist - rummeckert dass Integer und Double nicht definiert ist.
In dem Fall hier mault er nur noch beim Double.
wie mach ich das besser?
und dann weiß ich auch nicht ob
flaecheRechteck = breite.doubleValue() * hoehe.doubleValue();
das hier so stimmt. auf jeden fall wird ohne das .doubleValue() " * " nicht akzeptiert.. was ist in dem fall mit Integer werten? die müssten ja auch als double ausgegeben werden oder?
und ausgegeben wird leider gar nichts..
würd mich echt rießig über hilfe freuen