Übung Interface Flächeninhalte / Umfang PLEASSEE HELP

Status
Nicht offen für weitere Antworten.

annixp

Mitglied
Hi Leute

Hab hier folgende Aufgabe die ich absolut nicht gelöst bekomme. Wäre super wenn sich jemand daran versuchen könnte.

Aufgabe 1 1
a) Implementieren Sie eine Klasse die ein Rechteck beschreibt (Rectangle) und
eine Klasse die einen Kreis beschreibt (Circle). Versehen Sie beide Klassen
mit geeigneten Konstruktoren, Feldern und Methoden. Beide Klassen
implementieren das Interface Shape:
public interface Shape {
/**
* Die Methode area() gibt den Flächeninhalt der Form
* zurück
* /
public double area();
/**
* Die Methode circumference() gibt den Umfang der
* Form zurück
*/
public double circumference();
}
b) Schreiben Sie ein Testprogramm (Klasse Test) zur Überprüfung der
Methoden.
 

DaKo

Bekanntes Mitglied
Hi annixp,

wenn du sagst, wo dein Problem liegt, kannst du auch eine Antwort kriegen ;)
 

annixp

Mitglied
also ehrlich gesagt hab ich noch net viel Zeit gehabt Java zu lernen. Hab den Kurs vorgezogen, aber das kollidiert mit C++ :(

Wäre halt super wenn mir jemand den Code anfertigen könnte :(

Hast icq oder msn wo wir uns vll kurz unterhalten könnten ?
 

DaKo

Bekanntes Mitglied
PN

Aber ich kann dir gleich verraten, dass ich die halbe Stunde aus Prinzip nicht investieren werde, um deine Arbeit zu machen.
 

annixp

Mitglied
ähm was willste denn ? außer Hose runter lassen :D

suchst zufällig ne pretested CPU oder sowas ? ;)

Hast icq oder msn ?
 

The_S

Top Contributor
annixp hat gesagt.:
außer Hose runter lassen :D

Da würd ich sowieso vorher n Bild wollen :lol: ;) .

annixp hat gesagt.:
ähm was willste denn ?

Also bei uns isses so üblich Dienstleistungen mit Geld auszugleichen (oder mit anderen Dienstleistungen, wo wir wieder bei der Hose wären :cool: )...

annixp hat gesagt.:
Hast icq oder msn ?

ICQ (Nummer steht im Profil), aber net auf Arbeit.

Alternative könnt ich auch Hilfestellung für lau anbieten wenn de n bisschen Eigeninitiative zeigst :)
 

annixp

Mitglied
also ich kann dir mal meinen Stand zeigen.

Ich checks nur net das die Methoden in dem Interface Shape ja reinsollen und in der jeweiligen Klasse implementiert sein sollen.



public class Rectangle implements Shape{

double l,h;
Rectangle(double l,double h){
this.l=l;
this.h=h;
}

double area(){
return l*h;
}

double circumference(){
return 2*l+2*h;
}
}

public class Circle implements Shape{

double r;

Circle(double r){
this.r=r;
}

double area(){
return Math.PI*r*r;
}

double circumference(){
return 2*Math.PI*r;
}
}

public interface Shape {

public double area();
public double circumference();

}
 

The_S

Top Contributor
Na das schaut doch schonmal gut aus :) . Wüsste nicht was ein Kreis oder ein Rechteck sonst noch Großartig für Methoden haben könnte (außer evtl. setRadius, getRadius bzw. setLength, getLength und setHeight, getHeight).

Und dann einfache ne Klasse Test, die in n Objekt von der Klasse Kreis und n Objekt von der Klasse Rechteck erstellt und die Methoden aufruft.

[edit] zu langsam :x
 

annixp

Mitglied
ja aber dachte die MEthoden sollen doch aus dem Interface Shape geholt werden und die stehen ja momentan noch in den Klassen.

Und mit dem Testprogramm komm ich net klar :(

bittee hillfeee
 

DaKo

Bekanntes Mitglied
Dein Code muss nicht geändert werden. Du musst nur verstehen, wozu Interfaces da sind und wie man sie verwendet ;)
 

DaKo

Bekanntes Mitglied
Das du dich nicht darum kümmern musst, was genau für ein Objekt (Kreis oder Rechteck) du verwendest. Das tatsächlich verwendete Objekt muss lediglich das Interface implementieren.
 

annixp

Mitglied
oh gott :( ich glaub ich geh sterben :D

aber in dem interface shape steht doch gar nix drin :( außer den 2 variablen. Da sollten doch die Methoden rein oder nicht ?
 

DaKo

Bekanntes Mitglied
Nein.

In dem Interface steht nur, welche Methoden es gibt! Die tatsächliche Implementierung befindet sich in den Klassen, die das Interface implementieren.
 

annixp

Mitglied
ne echt net :( kannst mir nicht den fehlenden Code proggen ?

Ist ja nicht viel wie ich jetzt sehe, aber ich steh grad voll vorm Berg.
 

The_S

Top Contributor
Einfach ne neue Klasse mit main-Methode und da n paar Objekte von deiner Klasse erzeugen und die Methoden aufrufen. Das wars schon.
 

Lupo4u2

Mitglied
Das mit dem Testprogramm sollte doch nicht so schwer sein...

Code:
public class TestProgramm {

	public static void main(String[] args) {
    // hier erstellst du jetzt deine Objekte (Circles & Rectangles), füllst die mit Werten
    // rufst dann die Methoden auf (area() und circumference()
    // und lässt dir die Ergebnisse ausgeben.
   }
}

edit: grml.... schon wieder zu langsam! ;)
 

dhachim

Bekanntes Mitglied
schau mal was Dako um 10:40 geschrieben hat.
Dann noch ein paar
Code:
System.out.println(Object.methodenname());

und fertig ists
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben