题目:
(1)制作标准类Point(点),
其属性为点的横坐标x和纵坐标y,
成员方法为—public double distance(Point p1,Point p2),功能为:计算并返回点p1与点p2之间的距离。
(2)编写测试类PointTest,创建2个点对象,计算并打印出该两点的距离,其中点的横纵坐标通过键盘输入的方式给定,而给定的格式是 x,y (以逗号隔开)即要求用户在键盘输入如“2,3”样式的字符串,然后其中的2和3分别赋给点的横纵坐标值。
思路:
- 制作标准类
- 测试类中输入坐标
- 调用标准类
- 打印输出
代码如下:
标准类代码:
public class Point {
private double x;
private double y;
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;
}
public Point(double x, double y) {
super();
this.x = x;
this.y = y;
}
public Point() {
super();
}
public double Distance(Point p1,Point p2) {
double distance=Math.sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
return distance;
}
}
测试类代码:
import java.util.Scanner;
public class PointText {
public static void main(String[] args) {
Point point1=new Point();//造一个使用Distance方法的对象
Scanner scanner=new Scanner(System.in);
System.out.println("请输入第一个点的坐标:(格式:x,y)");
String input1=scanner.next();
//分解字符串,取逗号以外的数字
String[] string1 = input1.split(",");
//将逗号前后的数字分别给属性x,y赋值
Point point3=new Point(Integer.parseInt(string1[0]),Integer.parseInt(string1[1]));
//和上面一样处理第二个点的坐标
System.out.println("请输入第二个点的坐标:(格式:x,y)");
String input2=scanner.next();
String[] string2 = input2.split(",");
Point point4=new Point(Integer.parseInt(string2[0]),Integer.parseInt(string2[1]));
//打印输出
System.out.println("两点之间的距离为:"+point1.Distance(point3, point4));
}
}
注意:
- 要用String类型输入,不能用double类型输入
- 将String类型分解,用“String[] string1 = input1.split(",");”来实现
- 用构造方法将数据赋给属性,然后调用Distance方法
喜欢的小伙伴记得点赞和收藏呀!
Java之路,你我共同成长