Forum / Grundlagen des Programmierens / 2. Hausübung

2. Hausübung

Hallo Leute!

Hat sich von euch schon jemand die Bsp aus dem Rep angschaut??? Soweit ich weiß hat der Tutor gemeint dass er diese mit Kommentaren versieht um diese verständlicher zu machen, oder irre ich mich???

mfg

Patrick ±0

Habe versucht das 2.Bsp zu programmieren!

Ich weiß jedoch nicht ob dieses auch den anforderungen enspricht!!

Hier der Quelltext dazu:

package pkg0928885_2.BSP_2;

public class Vektor2D {
        
    public double x;
    public double y;
    
    public Vektor2D() {
        
        x=0;
        y=0;
    }
    
    public Vektor2D(double a, double b){
        
        x=a;
        y=b;
    }
    
    class MyVektorMath{
        
        public Vektor2D add(Vektor2D v1, Vektor2D v2, Vektor2D v3){
        return new Vektor2D(v1.x+v2.x+v3.x, v1.y+v2.y+v3.y);
        }
                        
    }
    
    public static void main(String[] args) {
        
        Vektor2D v1 = new Vektor2D(1,3);
        Vektor2D v2 = new Vektor2D(4,5);
        Vektor2D v3 = new Vektor2D(2,3);
        
        MyVektorMath math = v1.new MyVektorMath();
        Vektor2D result = math.add(v1, v2, v3);
        System.out.println(result.x+" "+result.y);
                               
    }
    
}
\n~~~
Andreas ±0

schaut ned schlecht aus....aber in der angabe steht glaub ich, dass man die vektoren über die befehlszeile eingeben können soll

Patrick ±0

jo i was eh owa des hob i bis jetzt no net zambracht das des funkt!!!:confused:

Alexander ±0

Code richtig anzeigen:

Hallo, bitte verwendet den BB-Code CODE um euren Programmcode hier anzuzeigen! -> wichtig für die Übersichtlichkeit und unsere interne Suchmaschine!

Mehr dazu hier.

Grüße Alex

Wolfgang ±0

Ich bin auch etwas verwirrt bei der Angabe. Mein zweites Beispiel benenne ich jetzt "Vektor2D" und nicht "Bsp2_blabla_1" ? Selbiges gilt dann auch für die 3. und 4. Aufgabe nehme ich an.

Umpa ±0

also ich hätt das jetz so verstanden das wir in der Klasse "Bsp2_blabla_2" ne Unteklasse Vektor2D erstellen sollen. Kann das sein?

Christoph ±0

also ich hab im tutorium nachgefragt und der tutor meinte, dass ich einfach das 2. Bsp. mit "Vektor2D" benennen soll.

Bertram ±0

ich muss hier einen Hilferuf starten!

ich bin leider bei java nicht der begabteste und stehe schon bei dem ersten beispiel an.

wie ich eine methode erstelle weiß ich ja mittlerweile, aber was er da genau von mir will das habe ich leider noch nicht heraussen.

kann ev wer sein erstes bsp rein stellen und erklären was er warum wie macht?!?

Wolfgang ±0

Hier ist mein 1. Bsp. Ohne Gewähr auf Richtigkeit :) Finde die Angabe der 2. HÜ mehr als bescheiden......


public class Aufgabe1_1028797_2 {

        //Method für Flächenberechnung
        public static float flaeche (int maße[]) {  
        float flaeche = maße[0]*maße[1];
        return flaeche; //Rückgabewert der Berechnung
        }
        
        //Method für Kantenlänge
        public static float kante (int maße[]) {  
        float kante = (maße[0]*2) + (maße[1]*2);
        return kante; //Rückgabewert der Berechnung
        }
        
public static void main ( String[] args ) {
    Scanner sc = new Scanner(System.in);
    
    //Array deklarieren
    int[] maße;
    maße=new int[2]; 

    //Abschnitt Datenabfrage
    System.out.println("Berechnung Fläche oder Kantenlänge eines Rechtecks");
    System.out.print("Bitte geben Sie die Länge in cm ein: ");
    maße[0] = sc.nextInt(); //Länge
    System.out.print("Bitte geben Sie die Breite in cm ein: ");
    maße[1] = sc.nextInt(); //Breite
    
    //Abschnitt Berechnungsabfrage
        System.out.println();
        System.out.println("Was wollen Sie berechnen ? ");
        System.out.println("f....Rechtecksfläche"); 
        System.out.println("k....Kantenlänge");
        System.out.print("Auswahl: ");
        char o = sc.next().charAt(0);

        switch( o ) {
                case 'f': //Berechnung Fläche
                    //Übergabe an Methode + Rückgabe des berechneten Wertes
                    System.out.println("Die Rechtecksfläche beträgt: " + flaeche (maße)+" cm^2");
                    break;
                case 'k': //Berechnung Kantenlänge
                    //Übergabe an Methode + Rückgabe des berechneten Wertes
                    System.out.println("Die Kantenlänge beträgt: " + kante (maße)+" cm");
                    break;
                default:
                    break; 
}
}
}\n~~~
Andreas ±0

Hier ist eine weitere Variante von 1. Bsp


public class Bsp1_1129273_2 {
    
    public static int uumfang(int l, int b) {
        return  l+l+b+b;
        
    }

    public static int fflaeche(int l, int b) {
        return  l*b;
        
    }
        

  public static void main (String[] args){
      
      
      Scanner sc = new Scanner (System.in);
         
          int[] l=new int[1];
          int[] b=new int[1];
    
     
          System.out.println("Bitte geben Sie die Laenge ein");
          l [0] = sc.nextInt();
          System.out.println("Bitte geben Sie die Breite ein");
          b [0] = sc.nextInt();
          
    System.out.println("1....Berechnung des Umfangs ");
    System.out.println("2....Berechnung der Flaeche ");
    System.out.println("9....Abbrechen ");
    System.out.println();
    System.out.print("Geben sie die Berechnungsart an: ");
    int a = sc.nextInt();
   

      switch( a ) {
                case 1: 
                    System.out.println("Umfang:" +uumfang(l[0],b[0])+" mm ");
                    break;
                case 2:
                    System.out.println("Flaeche:" +fflaeche(l[0],b[0])+" mm^2 ");
                    break;
                case 9:
                    System.out.println("Auf Wiedersehen");
                default:
            }

        
  }

}\n~~~
Jürgen ±0
2.Hausübung (Programmierungsteil)

hat sich schon erledigt, quellcode kommt in kürze

Andreas ±0

Du hast an Umfang vergessen!

Grüße

Jürgen ±0
    public static float Flaeche (float seite[]) {   //Methodendefinition Fläche
        float Flaeche = seite[0]*seite[1];          //Berechnungsformel
        return Flaeche;                             //Rückgabewert
    }
    public static float Umfang (float seite[]) {    //Methodendefinition Umfang
        float Umfang = seite[0]+seite[1]+seite[0]+seite[1];//Berechnungsformel
        return Umfang;                              //Rückgabewert
    } 
    public static void main(String[] args) {
        System.out.println("-->Flächenrechner eines Rechtecks<--\n");
        Scanner sc = new Scanner(System.in);
        //Arraydefinition
        float[] seite;
        seite = new float[2];  
        
    System.out.println("Wählen Sie die Berechnungsart <F=Fläche>,<K=Kantenlänge>: ");
    char rechnung = sc.next().charAt(0);
    System.out.println("Wählen Sie die gewünschte Länge [in m]: ");
    seite[0] = sc.nextFloat();
    System.out.println("Wählen Sie die gewünschte Breite [in m]: ");
    seite[1] = sc.nextFloat();
    
    switch(rechnung) {
        case 'F':
            System.out.print("Die Fläche beträgt: "+Flaeche (seite)+" m^2\n");
            break;
        case 'K':
            System.out.print("Die Kantenläne beträgt: "+Umfang (seite)+" m^2\n\n");
            break;
        default: System.out.println("Die Eingabe der Berechnungsart war ungültig");
            break;
                    }       
      }
}\n~~~

Sollte nun vollständig sein!

Admin Edit: Ich kanns nur immer wieder sagen, verwendet den [BB-Code](https://studify.com/outgoing?url=http%3A%2F%2Fboards.studify.at%2Fmisc.php%3Fdo%3Dbbcode) "CODE" um euren Quelltext darzustellen! Wichtig für Übersichtlichkeit und Suchfunktion...
Philipp ±0

Kann mir bitte wer sagen wo ich die "Musterlösung" für Bsp. 2.5 herunterladen kann?

Thomas ±0

Kann mir jemand erklären wie folgende Vorgabe zu verstehen is:

  • Die Berechnung soll mit Gleitkommazahlen einfacher Präzision erfolgen.

Ist damit gemeint, dass die Variablen nur Werte wie 1,2 oder 2,5 annehmen sollen ?

danke schon mal und lg

Sorry, die Kommentarfunktion ist geschlossen.