这里有个待完善的程序,其实是java版的计算两点距离。但在java中,我们并不是只关心计算距离,我们关注的是计算距离的起点和终点。我们的思想是不断完善这个点类,使之不仅能计算距离,还能支持更多功能,从而在各种程序中复用。这就是面向对象的思想。下面的程序就是以点为中心构建类,并支持计算距离。请大家完善这个程序。
import java.util.Scanner;
public class javaTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
double x1,y1,x2,y2;
Scanner sc=new Scanner(System.in);
while(sc.hasNext()) {
x1=sc.nextDouble();
y1=sc.nextDouble();
x2=sc.nextDouble();
y2=sc.nextDouble();
Point p1=new Point(x1,y1);
Point p2=new Point(x2,y2);
double d=dist(p1, p2);
System.out.printf("The distance is %.2f\n", d);
}
}
static double dist(************, ************)
{
double s;
double dx=********************;
double dy=********************;
s=Math.sqrt(dx*dx+dy*dy);
return s;
}
}
class **********
{
******** double x,y;
********(double a,double b)
{ x=a;y=b;}
public double getX() {
return x;}
public void setX(double x) {
this.x = x;}
public double getY() {
return y;}
public void setY(double y) {
this.y = y;}
};
来源
java基础训练 by wl
import java.util.Scanner;
public class javaTest{
public static void main(String[] args) {
// TODO Auto-generated method stub
double x1,y1,x2,y2;
Scanner sc=new Scanner(System.in);
while(sc.hasNext()) {
x1=sc.nextDouble();
y1=sc.nextDouble();
x2=sc.nextDouble();
y2=sc.nextDouble();
Point p1=new Point(x1,y1);
Point p2=new Point(x2,y2);
double d=dist(p1,p2);
System.out.printf("The distance is %.2f\n", d);
}
sc.close();
}
static double dist(Point p1,Point p2)
{
double s;
double dx=Math.abs(p2.getX()-p1.getX());
double dy=Math.abs(p2.getY()-p1.getY());
s=Math.sqrt(dx*dx+dy*dy);
return s;
}
}
class Point
{
public double x,y;
public Point(double a,double b){
x=a;y=b;
}
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
}