# Distanz zwischen zwei Punkten



## Benjamin1711 (6. Jan 2015)

ich weiß einfach nicht wie ich die Distanz zwischen denn Punken ausgeben kann.
Bitte dringend um Hilfe !


Erstellen Sie eine Klasse Point, welche die folgenden Eigenschaften besitzt:
1. Der zwei dimensionale Punkt wird durch die zwei Attribute x und y bestimmt.
2. Ein Punktobjekt wird durch die beiden Attribute (x und y) erstellt.
3. Ein Punktobjekt kann die Distanz zu einen anderen Punkt berechnen.
4. Die Klasse besitzt eine toString().
5. Die Klasse besitzt setter/getter-Methoden von allen Attributen.


```
public class Point {
	
	double x;
	double y;
	
	public static void main(String[] args) {
				
				Point p1 = new Point(2,3);
				Point p2 = new Point (0,0);
			
				System.out.println( "P1: "+p1 );
				System.out.println( "P2: "+p2 );
				System.out.println("Distance" + Point.distance(p1, p2));
				
	}
	
	public Point (double x,double y) {
		this.x = x;
		this.y = y;
		
}
	/**
	 * @return the x
	 */
	
	
	public double getx() {
		return x;
	}
	/**
	 *  @param x the x to set
	 */
	public void setX(int x) {
		this.x = x;
 	}
	
	/** 
	 * @return the y
	 */
	public double getY() {
		return y;
	}
	
	/**
	 * @param y the y to set
	 */
	public void setY(int y) {
		this.y = y;
		
	}
	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	

     public static final double distance(Point p1, Point p2) {
    	 return ; 
		
        
        		
	}    		
	
	@Override
	public String toString() {
		return "Point [x=" + x + ", y=" + y + "]";
	}
	
	}
```


----------



## Foxei (6. Jan 2015)

Du weist das es die Klasse Point in Java gibt und die genau das kann was du da versuchst?

```
import java.awt.Point;


public class Abstand {
	private Point p1;
	private Point p2;
	public Abstand() {
		p1=new Point(0,0);
		p2=new Point(3,2);
		System.out.println("Punkt 1: "+p1);
		System.out.println("Punkt 2: "+p2);
		System.out.println("Abstand: "+p1.distance(p2));
	}
	public static void main(String[] args){
		new Abstand();
	}
}
```

Ansonsten Satz des Pythagoras 

Wurzel aus (x Abstand^2 + y Abstand^2) = Dein Abstand

Gruß Simon


----------



## Gucky (6. Jan 2015)

Hast du schon einmal etwas vom Satz des Pythagoras gehört? Damit geht das.


----------



## Network (6. Jan 2015)

// Punkt 1
float p1x = 2;
float p1y = 3;

// Punkt 2
float p2x = 5;
float p2y = 7;

// Abstand
float abstandX = p1x - p2x;
float abstandY = p1y - p2y;
float abstand = Math.sqrt( abstandX * abstandX, abstandY * abstandY);


----------



## minzee (6. Jan 2015)

Das nennt sich übrigens euklidische Distanz (oder euklidischer Abstand).

Sofern du nur Distanzen vergleichen möchtest, kannst du auch darauf verzichten, die Wurzel zu ziehen. Dann hast du also die quadratische euklidische Distanz. Muss der Rechner nicht Wurzel ziehen, erspart das dem Rechner einiges an Arbeit.


----------

