您的位置:首页 > 编程语言 > Java开发

我的第一篇博客,java面向对象来解决简单的问题--杭电2001

2017-04-16 22:15 507 查看

题目链接:点击打开链接

计算两点间的距离

[b]Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 208631    Accepted Submission(s): 72765
[/b]

[align=left]Problem Description[/align]
输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。
 

[align=left]Input[/align]
输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。
 

[align=left]Output[/align]
对于每组输入数据,输出一行,结果保留两位小数。
 

[align=left]Sample Input[/align]

0 0 0 1
0 1 1 0

 

[align=left]Sample Output[/align]

1.00
1.41
基本解题思路:通过Point类来创建Point实例,使用Point对象调用distance函数来求取两点之间的距离函数功能:distance函数通过把传来的 Point p2对象 和调用此函数的 当前对象p1 得到它们的坐标字段 x y来求距离代码实现:
import java.util.*;
class Main{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
double x1=sc.nextDouble();
double y1=sc.nextDouble();
Point p1=new Point(x1,y1);

double x2=sc.nextDouble();
double y2=sc.nextDouble();
Point p2=new Point(x2,y2);

System.out.printf("%.2f",p1.distance(p2));
//也可以通过p2来调用函数distance
//System.out.printf("%.2f",p2.distance(p1));---"%.2f"是把输出的double值保留3位小数
System.out.println();
}
}
}
class Point{
private double x;
private double y;
public Point(double x,double y){
this.x=x;
this.y=y;
}
public double distance(Point p){//计算两点之间的距离
return Math.sqrt((this.x-p.x)*(this.x-p.x)+(this.y-p.y)*(this.y-p.y));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 面向对象 杭电
相关文章推荐