Übungsaufgaebn uni Geometry OOP

H

Heyoka955

Gast
Hallo Leute, wie geht es euch,
wir haben von der Uni eine Aufgabe bekommen und zwar dass wir drei Klassen schreiben sollen, die mit einander verknpüft sind, ich lade euch das Blatt mal hoch. Die erste Klasse hab ich schon fertg aber bevor ich mit der zweiten Anfange wollte ich fragen, ob meine erste richtig ist, weil ich mich schwer tue mit den Tests. Also Aufgabe drei. Das ist meine Lösung


Java:
public class Point {
    private double x;
    private double y;
   
    public Point(double x,double y){
        this.x=x;
        this.y=y;
    }
   
   
    public double getX(double x){
        return this.x;
    }
    public double getY(double y){
        return this.y;
    }
   
   
    @Override
    public String toString() {
       
      String str = this.x + "=x" + this.y + "=y";
        
        
      return str;
    }
   
    @Override
    public boolean equals(Object o) {
      
       Point p = (Point) o;
       return x == p.x && y == p.y;
    }

}
 

Anhänge

  • blatt07.pdf
    89,1 KB · Aufrufe: 6
H

Heyoka955

Gast
und hier ist der test dazu

Java:
import static org.junit.Assert.*;
import org.junit.Test;

public class PointTest {
    @Test
    public void test1() {
        Point p = new Point(2.0f, 5.0f);
        assertEquals(2.0f, p.getX(), 0.0f);
        assertEquals(5.0f, p.getY(), 0.0f);
    }

    @Test
    public void test2() {
        Point p1 = new Point(5.0f, 9.0f);
        Point p2 = new Point(5.0f, 9.0f);
        assertEquals(p1, p2);
    }

    @Test
    public void test3() {
        Point p1 = new Point(2.0f, 5.0f);
        Point p2 = new Point(10.0f, 23.5f);
        assertNotEquals(p1, p2);
    }

    @Test
    public void test4() {
        Point p1 = new Point(9.123f, 72.5f);
        assertEquals("(9.123/72.5)", p1.toString());
    }
}
 

httpdigest

Top Contributor
Dein "Getter" benötigt merkwürdigerweise ja einen Parameter...
Java:
public double getX(double x){
    return this.x;
}
public double getY(double y){
    return this.y;
}
 
H

Heyoka955

Gast
habe es wegemacht aber wieso soll man keine paramter übergeben, der braucht due ja ? oder dadurch dass instanzvariabeln innerhalb der Klasse gültig sind, braucht man das nicht?
 
H

Heyoka955

Gast
habe es wegemacht aber wieso soll man keine paramter übergeben, der braucht due ja ? oder dadurch dass instanzvariabeln innerhalb der Klasse gültig sind, braucht man das nicht?
Das sagt der Test zurzet aus bei mir, sowie es aussieht beziehen sich die Fehler eher auf die anderen Klassen die ich machen muss. von der hier hat er wenig gespuckt.
Java:
assertEquals(l.getPointA(), p1);
                      ^
  symbol:   method getPointA()
  location: variable l of type Line
C:\Users\akinh\Desktop\programmieren\blatt7\Geometry\src\LineTest.java:15: error: cannot find symbol
        assertEquals(l.getPointB(), p2);
                      ^
  symbol:   method getPointB()
  location: variable l of type Line
C:\Users\akinh\Desktop\programmieren\blatt7\Geometry\src\LineTest.java:21: error: method length in class Line cannot be applied to given types;
        assertEquals(l.length(), 5.0, 0.0f);
                      ^
 

httpdigest

Top Contributor
Ich meinte damit, dass du den PointTest (aus deinem ersten Post) mal ausführen sollst und nicht bloß kompilieren...

Beispiel mit Eclipse: Rechtsklick auf Datei -> "Run As" -> "JUnit Test".
 
H

Heyoka955

Gast
habe es mit unserem uni tester gemacht. Der zeigt nur das an.
Unser Tester heißt gradlew.
Java:
    assertEquals(l.getPointA(), p1);
                      ^
  symbol:   method getPointA()
  location: variable l of type Line
C:\Users\akinh\Desktop\programmieren\blatt7\Geometry\src\LineTest.java:15: error: cannot find symbol
        assertEquals(l.getPointB(), p2);
                      ^
  symbol:   method getPointB()
  location: variable l of type Line
C:\Users\akinh\Desktop\programmieren\blatt7\Geometry\src\LineTest.java:21: error: method length in class Line cannot be applied to given types;
        assertEquals(l.length(), 5.0, 0.0f);
                      ^
  required: Point,Point
  found: no arguments
  reason: actual and formal argument lists differ in length
C:\Users\akinh\Desktop\programmieren\blatt7\Geometry\src\LineTest.java:27: error: method length in class Line cannot be applied to given types;
        assertEquals(l.length(), 4.24, 0.01);
                      ^
  required: Point,Point
  found: no arguments
  reason: actual and formal argument lists differ in length
C:\Users\akinh\Desktop\programmieren\blatt7\Geometry\src\TriangleTest.java:11: error: constructor Triangle in class Triangle cannot be applied to given types;
        Triangle t = new Triangle(p1, p2, p3);
                     ^
  required: no arguments
  found: Point,Point,Point
  reason: actual and formal argument lists differ in length
C:\Users\akinh\Desktop\programmieren\blatt7\Geometry\src\TriangleTest.java:12: error: cannot find symbol
        assertEquals(t.getPointA(), p1);
                      ^
  symbol:   method getPointA()
  location: variable t of type Triangle
C:\Users\akinh\Desktop\programmieren\blatt7\Geometry\src\TriangleTest.java:13: error: cannot find symbol
        assertEquals(t.getPointB(), p2);
                      ^
  symbol:   method getPointB()
  location: variable t of type Triangle
C:\Users\akinh\Desktop\programmieren\blatt7\Geometry\src\TriangleTest.java:14: error: cannot find symbol
        assertEquals(t.getPointC(), p3);
                      ^
  symbol:   method getPointC()
  location: variable t of type Triangle
C:\Users\akinh\Desktop\programmieren\blatt7\Geometry\src\TriangleTest.java:19: error: constructor Triangle in class Triangle cannot be applied to given types;
        Triangle t = new Triangle(p1, p2, p3);
                     ^
  required: no arguments
  found: Point,Point,Point
  reason: actual and formal argument lists differ in length
C:\Users\akinh\Desktop\programmieren\blatt7\Geometry\src\TriangleTest.java:20: error: cannot find symbol
        Line[] lines = t.getLines();
                        ^
  symbol:   method getLines()
  location: variable t of type Triangle
C:\Users\akinh\Desktop\programmieren\blatt7\Geometry\src\TriangleTest.java:28: error: constructor Triangle in class Triangle cannot be applied to given types;
        Triangle t = new Triangle(p1, p2, p3);
                     ^
  required: no arguments
  found: Point,Point,Point
  reason: actual and formal argument lists differ in length
C:\Users\akinh\Desktop\programmieren\blatt7\Geometry\src\TriangleTest.java:29: error: constructor Triangle in class Triangle cannot be applied to given types;
        Triangle t2 = new Triangle(p1, p2, p3);
                      ^
  required: no arguments
  found: Point,Point,Point
  reason: actual and formal argument lists differ in length
C:\Users\akinh\Desktop\programmieren\blatt7\Geometry\src\TriangleTest.java:35: error: constructor Triangle in class Triangle cannot be applied to given types;
        Triangle t = new Triangle(p1, p3, p2);
                     ^
  required: no arguments
  found: Point,Point,Point
  reason: actual and formal argument lists differ in length
C:\Users\akinh\Desktop\programmieren\blatt7\Geometry\src\TriangleTest.java:36: error: constructor Triangle in class Triangle cannot be applied to given types;
        Triangle t2 = new Triangle(p1, p2, p3);
                      ^
  required: no arguments
  found: Point,Point,Point
  reason: actual and formal argument lists differ in length
C:\Users\akinh\Desktop\programmieren\blatt7\Geometry\src\TriangleTest.java:42: error: constructor Triangle in class Triangle cannot be applied to given types;
        Triangle t = new Triangle(p1, p3, p2);
                     ^
  required: no arguments
  found: Point,Point,Point
  reason: actual and formal argument lists differ in length
15 errors
 
H

Heyoka955

Gast
Ah, jetzt weiß ich endlich, woher der Gradle Wrapper seinen Namen hat: Von den Programmierübungen der Heinrich-Heine Universität...

Besorge dir bitte einfach mal eine IDE, das wird dir das Leben um einiges erleichtern, statt das alles immer per Gradle auf der Kommandozeile auszuführen und auf die Ausgaben zu warten.
woher wisst ihr das hahaha totaler müll. könntest du vllt sagen ob aber das richtig ist ?
 

Neue Themen


Oben