Problem mit Java Aufgabe

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi, ich habe ein Problem mit einer Java Aufgabe, vielleicht kann mir jemand ja helfen. :cry:

Aufgabe 3
Gegeben sind folgende geometrische Objekte:
• Parallelogramme
• Rechtecke
• Quadrate

Dabei gilt offensichtlich:
• Ein Rechteck ist ein Parallelogramm
• Ein Quadrat ist ein Rechteck

Hinweis: Die Funktion Sinus finden Sie in der Klasse Math. (Aufruf: Math.sin(beta))

a) Erstellen Sie eine Basisklasse für Parallelogramme, die die Fläche und den Umfang des Objektes berechnet. Für jedes der drei geometrischen Objekte soll dabei jeweils ein eigener Konstruktor angelegt werden, dem alle benötigten Parameter eines Objektes übergegeben werden können.
b) Erstellen Sie nun ein Programm, das je ein Objekt für Parallelogramme, Rechtecke Quadrate erzeugt und geben Sie dessen Fläche und Umfang aus.
Zusatzaufgabe:
c) Erstellen Sie nun eine Unterklasse für Körper, dessen Grundflächen aus Parallelogrammen bestehen und die jeweils eine einheitliche Höhe besitzen.
Diese Klasse soll das Volumen der Körper berechnen können.
d) Erweitern Sie ihr Programm um ein Objekt für Körper und geben Sie dessen Fläche, Umfang und Volumen aus.

Ich komme da echt nicht weiter...

MfG Benny3001
 

mic_checker

Top Contributor
Ok, dann sag mal wo dein Problem liegt.

Die Aufgabenstellung sollte ausführlich genug sein. Wir machen hier keine Aufgaben, wir helfen dir aber gerne bei konkreten Problemen ;)
 

Wildcard

Top Contributor
Hier werden keine Aufgaben gelöst. Wenn du es selbst versucht hast und dabei konkrete Probleme auftauchen wird dir auch geholfen.
 

eclipse

Mitglied
auch ein ganz ganz kleiner Tip von mir:
Die Aufgabe kann man mittels UML also Klassendiagramm gut darstellen.
Und dann Forward-Engineering :)
 

Benny3001

Neues Mitglied
Also bisher habe ich das soweit...
Code:
class Parallelogramm{
  double alpha;
  double a;
  double b;
  
  public Parallelogramm(a, a){
  this.a = a;
  }
  
  public Parallelogramm(a, b){
  this.a = a;
  this.b = b;
  }
  
  public Parallelogramm(a, b, alpha){
  this.a = a;
  this.b = b;
  this.alpha = alpha;
  }
  
  double Umfang(a,b){
  Umfang = 2*(a+b);
  return Umfang;
  }
  
  double Umfang(a,a){
  Umfang = 4 * a;
  return Umfang;
  }
  
  double Umfang(a,b,alpha){
  Umfang = 2*(a+b);
  return Umfang;
  }
  
  double Fläche(a,b){
  Fläche = a * b;
  return Fläche;
  }

  double Fläche(a,a){
  Fläche = a * a;
  return Fläche;
  }

  double Fläche(a,b,alpha){
  Umfang = a * h;
  h = Math.sin
  return Umfang;
  }

}

Ich bin mir wie gesagt nicht so sicher damit... muss ich für jedes geometrische Objekt einzeln den Umfang und die Fläche in einer Methode berechnen lassen? :bahnhof:

MfG Benny3001
 

SebiB90

Top Contributor
für die flächen berechnung gilt für alle 3 flächen a*h wobei beim quadrat h=a ist und beim rechteck h=b
außerdem sollten die methoden zum berechnen der fläche(und umfang) keine parameter haben, glaub ich jedenfalls, du solltest die object variablen nutzen sonst gibt es ja kein sinn.
und beim umfang ist die formel überall 2*(a+b)

außerdem musst du bei parametern auch den variablen typ hin schreiben
Code:
public Parallelogramm(double a, double b, double alpha)
 

mic_checker

Top Contributor
1) Du solltest die Variablen private machen:
Code:
private double alpha;
private double a;
private double b;

2) Methodennamen werden klein geschrieben

3) Du solltest vielleicht ein get vor Flaeche und Umfang setzen, also getFlaeche und getUmfang, daraus wird der Sinn u. Zweck des ganzen deutlicher.

Les dir mal deine Aufgabenstellung durch:
Dabei gilt offensichtlich:
• Ein Rechteck ist ein Parallelogramm
• Ein Quadrat ist ein Rechteck
Wenn du das liest muss es klick machen und du musst denken "ok hier ist vererbung im spiel" - wie ich oben schon gesagt hab.

Die Klasse Rechteck erweitert die Klasse Parallelogramm, so wie Quadrat Rechteck erweitert. Es bringt dir nichts wenn ich den Code poste.
In den Subklassen dann einfach den Konstruktor der Superklasse aufrufen etc.
 

SebiB90

Top Contributor
mic_checker hat gesagt.:
"ok hier ist vererbung im spiel"
das glaub ich eher weniger
Erstellen Sie eine Basisklasse für Parallelogramme, die die Fläche und den Umfang des Objektes berechnet. Für jedes der drei geometrischen Objekte soll dabei jeweils ein eigener Konstruktor angelegt werden
für mich bedeutet das, dass man eine klasse erstellen soll aber für jedes der flächen einen eigenen Konstuktor anlegen soll.
vererbung ist da wohl zu aufwendig da man nur einen anderen construktor hat sonst nix.
vererbung wär nur gut bei der zusatzaufgabe mit dem körper.
 

mic_checker

Top Contributor
"is-a"-Beziehungen werden in objektorientierten Programmiersprachen durch Vererbung ausgedrückt. Eine Klasse wird dabei nicht komplett neu definiert, sondern von einer anderen Klasse abgeleitet.
-> Handbuch der Javaprogrammierung

Das war übrigens ein genereller Hinweis von mir.

Vererbung ist in dem Fall zu aufwendig? Sorry, aber was genau ist daran aufwendig ?
 

Benny3001

Neues Mitglied
Ich hab mich nochmal dran gesetzt und ich glaub jetzt gehts soweit. Danke für alle Tipps, besonders an SebiB90.
Code:
public class Parallelogramm {
  protected double a;
  protected double b;
  protected double alpha;

  public Parallelogramm(){

  }

  public Parallelogramm (double a){
    this (a,a);
  }

  public Parallelogramm (double a, double b){
    this (a,b, Math.PI/2);
  }

  public Parallelogramm (double a, double b, double alpha){
    this.a = a;
    this.b = b;
    this.alpha = alpha;
  }

  double getFlaeche(){
    return a * (b * Math.sin(alpha));
  }

  double getUmfang(){
    return 2 * (a + b);
  }
}

MfG Benny3001
 

mic_checker

Top Contributor
Noch nen Tipp:
Überprüf im Konstruktor deine Angaben: Falls jemand probiert ein Parallelogramm mit negativen Seitenlängen zu erzeugen etc. Das du dies abfängst...
 

SebiB90

Top Contributor
mic_checker hat gesagt.:
"is-a"-Beziehungen werden in objektorientierten Programmiersprachen durch Vererbung ausgedrückt. Eine Klasse wird dabei nicht komplett neu definiert, sondern von einer anderen Klasse abgeleitet.
-> Handbuch der Javaprogrammierung
die bezeichung "ist ..." sollte mathematisch bezogen sein und nicht mit vererbung zu tun haben, so habs ich verstanden und aufwendig weil man in den klassen die erben nur ein konstruktor schreiben muss sonst nix deshalb kann man die 3 in einer klasse schreiben und nicht extra in 3 klassen
 

mic_checker

Top Contributor
Es ist vielleicht "einfacher", insofern als das es schneller geht. Aber für zukünftige Projekte etc. sollte man es sich nicht so angewöhnen.

Es ist doch auch kein großer Aufwand zwei zusätzliche Klassen zu schreiben, die eine andere erweitern.
So wird wenigstens direkt klar worum es geht.
 

eclipse

Mitglied
Am Besten macht man immer eine Textanalyse und malt sich das ganze mit Papier und Bleistift auf. --> (OOA)
Unter Umständen mit UML-Notation (Klassendiagramm).

Dabei gilt offensichtlich:
• Ein Rechteck ist ein Parallelogramm
• Ein Quadrat ist ein Rechteck
Und wenn ich das lese, bedeutet es für mich "Vererbung" (is-a Beziehung). Natürlich muss die Beziehung auch semantisch korrekt sein. --> (OOD)

Da Java OO-Konzepte mit sich bringt, wäre hier eine objekt-orientierte denkweise/arbeitsweise viel angebrachter.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Problem bei Java-Aufgabe Java Basics - Anfänger-Themen 12
M Problem bei einer Java-Aufgabe (Fakultäten) Java Basics - Anfänger-Themen 5
D Problem bei Java - Aufgabe Java Basics - Anfänger-Themen 7
josfe1234 JAVA FX problem Java Basics - Anfänger-Themen 3
J JAVA-Problem blockiert MEDIATHEKVIEW Java Basics - Anfänger-Themen 13
Splayfer Java Array Problem... Java Basics - Anfänger-Themen 2
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
C Java Methoden "Parameter" Problem Java Basics - Anfänger-Themen 16
K Java Problem mit Übergabe von argumenten Java Basics - Anfänger-Themen 3
J "travelling salesman problem" mit Java Editor Java Basics - Anfänger-Themen 17
C Two-Center Problem in Java Java Basics - Anfänger-Themen 0
L Java reset button Problem Java Basics - Anfänger-Themen 3
L Java reset button Problem Java Basics - Anfänger-Themen 9
L Problem bei Java-ActionListener Java Basics - Anfänger-Themen 4
Amelie Java Problem Java Basics - Anfänger-Themen 2
T eclipse mit java 9 Problem? Java Basics - Anfänger-Themen 5
B problem mit java Java Basics - Anfänger-Themen 15
Z Problem mit "Random" in Java Java Basics - Anfänger-Themen 12
J Verständnis Problem Java-Listener. Java Basics - Anfänger-Themen 59
A Problem eines Anfängers bei Java Java Basics - Anfänger-Themen 6
O Compiler-Fehler Ein weiteres Java Problem Java Basics - Anfänger-Themen 3
L Compiler-Fehler Problem beim Programmieren eines Kalenders (java.lang.ArrayIndexOutOfBoundsException) Java Basics - Anfänger-Themen 2
H Interface Problem mit Java Editor Java Basics - Anfänger-Themen 15
J Problem mit java Dos-Applikation Java Basics - Anfänger-Themen 3
M Problem/Unsicherheit bei Java-Aufgaben Java Basics - Anfänger-Themen 11
G Problem: Java Projekt als ausführbare Jar Exportieren (Eclipse) Java Basics - Anfänger-Themen 10
K Java Projekt als ausführbare Jar Exportieren (Eclipse) Problem Java Basics - Anfänger-Themen 24
D Erste Schritte Problem mit dem Java-Editor Eclipse [Frage] Java Basics - Anfänger-Themen 13
P Tag der Zeitumstellung Sommer->Winterzeit (Java Calendar) Problem Java Basics - Anfänger-Themen 5
T Problem mit Eclipse? Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 4
J Java Daten von Konsole einlesen (Spezielles Problem) Java Basics - Anfänger-Themen 6
R Problem mit Java-Chat Java Basics - Anfänger-Themen 2
KranzKrone Erste Schritte Java MVC Problem Java Basics - Anfänger-Themen 3
T Problem mit java-editor + Scanner Java Basics - Anfänger-Themen 9
C JDK installieren Habe ein Problem bei Java install Java Basics - Anfänger-Themen 4
B JAVA Package Problem Java Basics - Anfänger-Themen 8
D Java Date/Calendar Problem Java Basics - Anfänger-Themen 4
V Java Chat Programm Problem mit IP Addresse Java Basics - Anfänger-Themen 7
J Habe problem mit Java Java Basics - Anfänger-Themen 2
B Problem mit Dr. Java Java Basics - Anfänger-Themen 15
T Problem bei BeatBox aus Java-Von Kopf bis Fuß Java Basics - Anfänger-Themen 3
P Problem- Java Applet wird nicht ausgeführt Java Basics - Anfänger-Themen 9
H JDK installieren Mac Problem mit Java SE 1.7 Java Basics - Anfänger-Themen 5
I Java von Kopf bis Fuß: Ratespiel-Problem Java Basics - Anfänger-Themen 20
P Problem :Java-Dateien in einem Ordner ablegen Java Basics - Anfänger-Themen 10
M Java String " einfügen Problem Java Basics - Anfänger-Themen 2
G Java Dezimal Zahlen Internazialisation Problem Java Basics - Anfänger-Themen 7
I Problem mit Java Text Area Java Basics - Anfänger-Themen 14
S Problem mit java.awt Java Basics - Anfänger-Themen 3
S java versionen problem Java Basics - Anfänger-Themen 20
Z Problem mit Tutorial - Finde Kon.java nicht Java Basics - Anfänger-Themen 11
B Problem mit Java XML Java Basics - Anfänger-Themen 6
B Problem mit XML und Java Java Basics - Anfänger-Themen 2
F Methoden Java Freihand Problem Java Basics - Anfänger-Themen 4
turmaline Java Virtual Machine Launcher Problem Java Basics - Anfänger-Themen 1
J Java Installations/Deinstallations Problem. Java Basics - Anfänger-Themen 5
D Problem mit java.io.* Java Basics - Anfänger-Themen 6
H Problem beim Anfang von Java (Java Editor) Java Basics - Anfänger-Themen 2
D Problem mit Java für dummies Java Basics - Anfänger-Themen 2
K Java Array Problem Java Basics - Anfänger-Themen 3
M java.lang.NumberFormatException-Problem Java Basics - Anfänger-Themen 6
S Java problem, bitte um hilfe! Java Basics - Anfänger-Themen 9
J Problem mit Ausführen von Java-Dateien Java Basics - Anfänger-Themen 5
A Problem bei der Division mit Java Java Basics - Anfänger-Themen 4
E Datentypen ein java problem rekursiv loesen Java Basics - Anfänger-Themen 2
S Java Verständnis Problem Methoden etc. Java Basics - Anfänger-Themen 22
E Java hashCode equals Problem Java Basics - Anfänger-Themen 2
B in & out class problem (java anfängeR) Java Basics - Anfänger-Themen 5
F Java Variablen Problem Java Basics - Anfänger-Themen 8
R Problem beim Ausführen von Java-PGM aus der shel Java Basics - Anfänger-Themen 3
D Java Problem bitte um hilfe Java Basics - Anfänger-Themen 4
L Java [Beginner] Problem Java Basics - Anfänger-Themen 8
K java.util.ConcurrentModificationException problem in der Logik? Quaxli-Tutorial Java Basics - Anfänger-Themen 9
D Java per Konsole oder Batch öffnen - Problem Java Basics - Anfänger-Themen 4
S setVisible Problem bei java.awt Java Basics - Anfänger-Themen 9
J Anfänger-Problem: Rechnen mit Java Java Basics - Anfänger-Themen 3
T Java Bilderverwaltung - Image Fetcher Problem Java Basics - Anfänger-Themen 4
V Problem bei java Application Java Basics - Anfänger-Themen 3
B Java Desktop Wecker problem Java Basics - Anfänger-Themen 3
? Konsolenprogramm hat Problem mit java.awt oder javax.swing Java Basics - Anfänger-Themen 7
M Problem mit dem Klassen aus dem java.io Paket Java Basics - Anfänger-Themen 9
E java.util.ConcurrentModificationException Problem Java Basics - Anfänger-Themen 5
G java.io.File problem Java Basics - Anfänger-Themen 5
R Java Problem (mit NetBeans) - html gibt nur java logo aus Java Basics - Anfänger-Themen 7
M Problem mit Java unter Vista 64 Java Basics - Anfänger-Themen 4
S Seltsames Java Problem Java Basics - Anfänger-Themen 3
A Matisse oder Java Problem: JPanels werden riesig ? Java Basics - Anfänger-Themen 3
S Ausgabe auf der Java-Console (Java Problem) Java Basics - Anfänger-Themen 13
A Do/While Problem (Exception in thread "main" java. Java Basics - Anfänger-Themen 4
Nexu [JAVA] Problem mit den Fenstern Java Basics - Anfänger-Themen 2
D Problem bei einer Formel (Bin Java Neuling) Java Basics - Anfänger-Themen 3
D Java Rechner und Einlesen Problem (mit hasNext) Java Basics - Anfänger-Themen 2
G JAVA KARA PROBLEM Java Basics - Anfänger-Themen 4
F Problem mit auführen einer .bat Datei aus Java heraus Java Basics - Anfänger-Themen 24
I Problem mit import java.awt.*; Java Basics - Anfänger-Themen 5
J Java GUI Problem (throws.) Java Basics - Anfänger-Themen 3
S Problem beim kompilieren mit Java 1.4 Java Basics - Anfänger-Themen 4
A problem mit java.awt Java Basics - Anfänger-Themen 17
K Problem mit javax/servlet/http/HttpServletRequest.java Java Basics - Anfänger-Themen 2
N Problem mit MySql und Java Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben