Aufgabe über java

Ligainsider

Mitglied
Hallo Leute! Ich habe ein kleines Problem und habe statt einer Klausur eine Aufgabe für zu hause bekommen. Da ich erst seit 1/4 Jahr das fach Informatik ablege.
Hier ist die folgende Aufgabe:

Das Programm "Dreiecksberechnung" nimmt drei Seitenlängen (der Größe nach sortiert) entgegen (die kürzeste Seite zuerst). Es macht dann eine Aussage zur Art des Dreiecks (rechtwinklig, gleichschenklig, gleichseitig) und berechnet den Umfang, die Winkel und die Fläche.
Erstelle das Programm inkl. grafischer Oberfläche. Alle Berechnungen sollen dabei in eine entsprechende Klasse "Dreieck" ausgelagert werden.

Bis jetzt habe ich folgendes hinbekommen.

Java:
public class dreiecksberechnung
    
    {
      public static void main ( String args [] ) {
        double a, b, c, alpha=0, beta=0, gamma=0, A=0, galpha=0, gbeta=0, ggamma=0;
        JConsole fenster = new JConsole ("Dreieck");
        
        try {
          fenster.println ("Programm startet");
          a = fenster.readDouble (" Bitte Wert für Seite a eingeben : ");
          b = fenster.readDouble (" Bitte Wert für Seite b eingeben : ");
          c = fenster.readDouble (" Bitte Wert für Seite c eingeben : ");
          fenster.println ("Programm arbeitet...");
          if ((a+b)>c && (a+c)>b && (b+a)>c && (b+c)>a && (c+a)>b && (c+b)>a ){
            
            alpha = Math.acos((b*b + c*c - a*a) / (2*b*c));
            galpha = alpha*(180/java.lang.Math.PI);
            beta = Math.asin( ( b/a)*(Math.sin(alpha)));
            gbeta = beta*(180/java.lang.Math.PI);
            gamma = java.lang.Math.PI - (alpha+beta);
            ggamma = gamma*(180/java.lang.Math.PI);
            A = 0.5*a*b*Math.sin(gamma); 
          }
          else { 
            fenster.println ("Variablen ergeben kein Dreieck");
            a = fenster.readDouble (" Bitte Wert für Seite a eingeben : ");
            b = fenster.readDouble (" Bitte Wert für Seite b eingeben : ");
            c = fenster.readDouble (" Bitte Wert für Seite c eingeben : ");
            fenster.println ("Programm arbeitet...");
            
          }
        }
        catch (InterruptedException ie ) {}
        fenster.print ( "alpha = ") ;
        fenster.print ( galpha,7,4 ) ;
        fenster.println ("°") ;
        fenster.print ( "beta = " ) ;
        fenster.print ( gbeta,7,4 ) ;
        fenster.println ("°") ;
        fenster.print ( "gamma = " );
        fenster.print ( ggamma,7,4 ) ;
        fenster.println ("°") ;
        fenster.print ( "A = " ) ;
        fenster.print ( A,10,2 ) ;
        fenster.println ("m²") ;
        fenster.println( "Ende des Programms");
      }
    }
    // Ende Komponenten
    
    setVisible(true);
  } // end of public dreiecksberechnung
  
  // Anfang Methoden
  // Ende Methoden
  
  public static void main(String[] args) {
    new dreiecksberechnung("dreiecksberechnung");
    public class Viereck implements Geometry {
      
      private double a;
      private double b;
      
      public Viereck(int a, int b) {
          setUmfang(a,b);
      }
      
      public void setUmfang(int a, int b) {
          this.a = a;
          this.b = b;
        
      }
      public double getUmfang() {
          
          
          return 2*a+2*b;
      }

Ich bitte um Hilfe

Danke im Voraus

ligainsider
 
Zuletzt bearbeitet von einem Moderator:

Saheeda

Top Contributor
1. Für Java-Code bitte die Tags benutzen:
Java:
2. Was genau ist dein Problem oder deine Frage?

3. Was mir auffällt: Du hast einen ziemlich großen Try-Catch-Block drin. Solche Blöcke sollten a) so klein wie möglich sein und b) sollte die gefangene Exception geloggt oder irgendwie ausgegeben werden.
 

Ligainsider

Mitglied
Danke für den tipp. Meine Frage ist, ob mir das jemand berichtigen könnte und gegebenenfalls das zeichnen hinzufügen könnte. Es soll hallt so ausgegebne werden, wie es die Aufgabe verlangt
 
Zuletzt bearbeitet:

Saheeda

Top Contributor
Es ist hier nicht üblich, kompletten Code bereitzustellen.

Inwiefern soll dein Code berichtigt werden? Kommen falsche Ausgaben? Wenn ja: Was erwartest du? Was passiert stattdessen? Welche Fehlermeldungen kommen?

Was soll gezeichnet werden? Ich lese nichts von "malen Sie das Dreieck", sondern nur, dass die berechneten Werte angezeigt werden sollen.
 

Ligainsider

Mitglied
Als fehler kommt dieser

Compiliere C:\Users\Maxi\Desktop\JAva\Dreieck.java mit Java-Compiler
Dreieck.java:34:5: error: illegal start of expression
public class Dreieck
^
1 error
 
Zuletzt bearbeitet:

Ligainsider

Mitglied
Man soll halt die erhaltenen werte in einer graphischen oberfläche wiedergeben. Da weis ich nicht was ich machen soll.
Ein kompleter code ist auch gar nicht verlangt. nur eine berichtigung damit es funktionsfähig wird
 

Saheeda

Top Contributor
Dann zeig bitte auch mal deine Dreieck-Klasse.

Zu dem obigen Code:
- die Klasse Dreiecksbeziehung hat zwei main-Methoden
- diese Zeile
Java:
if ((a+b)>c && (a+c)>b && (b+a)>c && (b+c)>a && (c+a)>b && (c+b)>a ){
ergibt keinen Sinn. (a+b)>c ist dasselbe wie (b+a)>c.
- in der zweiten main-Methode ist eine Klasse definiert. Das ist falsch, schreib die in eine eigene Datei. (Ja, es gibt innere Klassen, aber die werden anders definiert und ich würde ich dir für den Anfang dringend davon abraten, überhaupt damit zu arbeiten)
- wozu brauchst du die Viereck-Klasse?
- was sind gAlpha, gBeta und gGamma für Winkel?


Ich habe in Java noch nie ne grafische Oberfläche gebaut, aber zur Textausgabe benutzt man üblicherweise Label, Textboxen o.ä. Du müsstest also mal suchen, wie man die einbindet und mit Text befüllt.
Womöglich hat auch dein JConsole-Objekt eine Methode Write() o.ä.
 
Zuletzt bearbeitet:

Neue Themen


Oben