7-5 两点成线 (10 分)
都说两点确定一条直线,那么设计一个直线类Line,需要通过两个点Point对象来确定。Line类具体要求如下:
1)定义两个Point对象p1,p2;
2)写出有参构造方法,传递两个对象值给p1,p2
3)为p1,p2写出setters,和getters方法
4)为Line写出一个getLength方法求直线中两点的长度
5) 为LIne写一个ToString方法,方法如下所示:
public String toString() { return “Line [p1=” + p1 + “, p2=” + p2 + “]”; }

在Main类的main方法中,定义一个Line数组,数组长度通过键盘给出,然后通过键盘为每线段的两个Point对象的坐标赋值,并生成相应Line对象放入数组中,循环数组,输出每条直线的信息,以及两个点之间的距离。
Point 类如下所示:

public class Point {private int x, y;// x,y为点的坐标//求两点之间的距离public double distance(Point p1) {return Math.sqrt((p1.x -this.x)*(p1.x -this.x)+(p1.y-this.y)*(p1.y-this.y));}public Point(int x, int y) {super();this.x = x;this.y = y;}public int getX() {return x;}public void setX(int x) {this.x = x;}public int getY() {return y;}public void setY(int y) {this.y = y;}public Point() {super();x = y =0;}@Overridepublic String toString() {return "Point [x=" + x + ", y=" + y + "]";}
}

输入格式:
第一行输入数组的长度n 每一行输入一个Line对象的两个点对象的 x y的坐标,中间用空格隔开

输出格式:
循环输出,输出直线的信息,以及每条直线的两个点的距离,保留一位小数。

输入样例:
在这里给出一组输入。例如:

2
0 0 2 3
1 3 2 5
输出样例:
在这里给出相应的输出。例如:

Line [p1=Point [x=0, y=0], p2=Point [x=2, y=3]]
此线段的长度为:3.6
Line [p1=Point [x=1, y=3], p2=Point [x=2, y=5]]
此线段的长度为:2.2

很遗憾测试点并不样例

import java.util.Scanner; class Point {private int x, y;// x,y为点的坐标//求两点之间的距离public double distance(Point p1) {return Math.sqrt((p1.x -this.x)*(p1.x -this.x)+(p1.y-this.y)*(p1.y-this.y));}public Point(int x, int y) {super();this.x = x;this.y = y;}public int getX() {return x;}public void setX(int x) {this.x = x;}public int getY() {return y;}public void setY(int y) {this.y = y;}public Point() {super();x = y =0;}@Overridepublic String toString() {return "Point [x=" + x + ", y=" + y + "]";}
}
class Line{Point p1,p2;public Line(Point x,Point y){p1=x;p2=y;}public Point getP1() {return p1;}public void setP1(Point p1) {this.p1 = p1;}public Point getP2() {return p2;}public void setP2(Point p2) {this.p2 = p2;}public double getLength() {return p1.distance(p2);}public String toString() {return "Line [p1=" + p1 + ", p2=" + p2 + "]";}
}
public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n=sc.nextInt();while(n!=0) {int a=sc.nextInt();int b=sc.nextInt();int c=sc.nextInt();int d=sc.nextInt();n--;Point x=new Point(a,b);Point y=new Point(c,d);Line l =new Line(x,y);System.out.println(l.toString());System.out.println("此线段的长度为:"+String.format("%.1f", l.getLength()));//l.getLength();}}}

代码说明

  • 引入 :import java.util.Scanner;
  • class Point {},复制题目给的
    毕竟一个类文档只能有一个public类
    这个类的public可以选择删去
  • Line类
  • Point p1,p2;(题目第一条)
  • 写出有参构造方法(题目第二条)
  • source->generate setters and getter
    给p1,p2,加上getset (题目第三条)
  • public double getLength() 直接调用 Point类的(题目第四条)
  • public String toString() 复制题目里给的(题目第五条)
  • Main 自由发挥

7-5 两点成线 (10 分) JAVA PTA相关推荐

  1. 7-8 毕业聚会 (10分) java pta

    毕业在即,三位小伙伴马上要分别.为了在未来的某个日子可以见面,三位小伙伴有了一个约定,假设在未来的某一年,三位小伙伴的年龄的末尾正好出现3.6.9三个数,那么他们会再次相聚. 现在问题来了,假设今年三 ...

  2. 6-2 返回月份的英文全称(日历) (10分) java pta

    本题要求实现一个方法,用户输入一个1到12的整数,方法返回该数字代表月份的英文全称. 函数接口定义: 详见主函数中的调用. 裁判测试程序样例: 在这里给出函数被调用进行测试的例子.例如: import ...

  3. 6-4 计算长方体的表面积和体积 (10分) java pta

    请完成相关代码,实现长方体的表面积和体积的计算 函数接口定义: 请详细参见主程序的调用方式. 裁判测试程序样例: import java.util.Scanner; /* 你的代码将被嵌入到这里 */ ...

  4. 7-17 打印等腰直角三角形 (10分) java pta

    等腰直角三角形是指一个角是直角,且两条直角边相等的三角形.这里我们输出直角边长为n的等腰直角三角形. 输入格式: 大于0的整数. 输出格式: 输出对应的用*表示的等腰直角三角形 输入样例: 在这里给出 ...

  5. L1-040 情侣身高差 (10 分)(JAVA)

    专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09 =(男方的身高).如果符合,你俩的身高差不管是牵手.拥抱.接吻,都是最和谐的差度.下面就请你写个程序,为任意一位 ...

  6. PTA 7-7 sdut-oop-6 计算各种图形的周长(接口与多态) (10 分) JAVA

    定义接口Shape,定义求周长的方法length(). 定义如下类实现接口Shape的抽象方法: (1)三角形类Triangle (2)长方形类Rectangle (3)圆形类Circle等. 定义测 ...

  7. (这种方法简直就是在作弊) 7-25 一位的十六进制转换为十进制 (10 分) java

    题目描述:十六进制记数系统有16个数字:0到9,A到F.之母A.B.C.D.E和F分别对应十进制的数字10.11.12.13.14和15.现在完成程序,输入为十六进制的数字(一位),显示它对应的十进制 ...

  8. L1-040 最佳情侣身高差 (10 分) Java篇

    专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09 =(男方的身高).如果符合,你俩的身高差不管是牵手.拥抱.接吻,都是最和谐的差度. 下面就请你写个程序,为任意一 ...

  9. 7-5 小明的第一个扑克牌“魔术”(队列或链表操作) (10 分)java版

    小明刚上小学,学会了第一个扑克牌"魔术",到处给人表演.魔术的内容是这样的: 他手里握着一叠扑克牌:A,2,-J,Q,K 一共13张.他先自己精心设计它们的顺序,然后正面朝下拿着, ...

最新文章

  1. Rocksdb 写流程,读流程,WAL文件,MANIFEST文件,ColumnFamily,Memtable,SST文件原理详解
  2. java火箭应用_从C++入手,探寻java的特点
  3. 【Spring MVC】自定义拦截器 Interceptor
  4. python合法变量类型_Python 变量类型
  5. java string对象创建对象_Java String 创建了几个对象
  6. two+few+arguments+php,PHP5.5 ~ PHP7.2 新特性整理
  7. 3011-基于二叉树的表达式求值(C++,附详细思路)
  8. [三] java虚拟机 JVM字节码 指令集 bytecode 操作码 指令分类用法 助记符
  9. posix thread条件变量
  10. 吉林考生多少分能考上哈工大计算机专业,福建考生多少分能上哈工大?
  11. 磨刀不误砍柴工——利用JMP探索离群值
  12. 2020腾讯广告算法大赛——算法小白的复盘
  13. 【译】eBPF 概述:第 4 部分:在嵌入式系统运行
  14. 粒子群优化能做相机标定吗
  15. Mac 在启动时显示的禁止符号、问号、空白屏幕、锁定等各种界面图标说明
  16. html文字多余部分三个点,解决特殊符号和字母换行问题
  17. 狄克斯特拉算法(Dijkstra)——算法思想及代码实现
  18. 电磁兼容工程(Electromagnetic compatibility engineering Herry Ott )读书笔记--章12 数字电路的辐射
  19. 用mybatis的generator自动生成代码--坑我都走了一遍,后面的同学别踩了
  20. java基于springboot+Vue+nodejs的高校运动会报名管理系统 element

热门文章

  1. Myeclipse --The type java.lang.CharSequence cannot be resolved. It is indirectly referenced ---
  2. simulink模糊PID控制在机车速度控制中的应用
  3. Win10添加简体中文美式键盘的方法
  4. 趣谈 | Acala 文化启蒙与设计
  5. Openstack(T版)组件部署
  6. CCF(中国计算机学会)推荐的人工智能与模式识别领域国际期刊、会议列表x学术会议
  7. 超市选址问题(Python实现)
  8. 山东财经大学新生赛暨天梯赛选拔赛 A 骆驼拼写法
  9. c语言整数除以整数是截断还是四舍五入,gogo体育滚球-官网首页
  10. Java富文本设置行间距,如何解决富文本设置行间距的单行带间距问题