最近在自学JAVA,学到类与对象章节,分享一个自我感觉还可以的例题答案,自己编写的,发出来希望大神们知道一二。

源程序如下:

package Line_Test;public class Line_Test {public static void main(String[] args) {// TODO Auto-generated method stub// 线段测试Line line = new Line(new Line.Point(2,3),new Line.Point(4,5));line.Print_Point();    line.Print();       System.out.println();       Line line1 = new Line(new Line.Point(2,3),new Line.Point(2,5));line1.Print_Point();    line1.Print();      System.out.println();Line line2 = new Line(new Line.Point(2,3),new Line.Point(4,3));line2.Print_Point();   line2.Print();      System.out.println();}}//线段类
class Line{ public static class Point{private float x,y;public Point(){x = 2;y = 3;}public Point(float x,float y){this.x = x;this.y = y;}}private Point p0;private Point p1;// 重载构成函数public Line(){this.p0 = new Point(2,3);this.p1 = new Point(4,5);}    // 重载构成函数public Line(Point p0,Point p1){this.p0 = new Point(p0.x,p0.y);this.p1 = new Point(p1.x,p1.y);}// 线段长度public float Line_Length(){if(this.isLineH()){return Math.abs(p1.y-p0.y);           }else if(this.isLineV()){return Math.abs(p1.x-p0.x);}else{return (float)Math.sqrt((Math.pow((p1.x-p0.x),(p1.x-p0.x))+Math.pow((p1.y-p0.y),(p1.y-p0.y))));}}// 线段水平  true:Yes  false:Nopublic boolean isLineH(){return (p0.x==p1.x);}// 线段垂直  true:Yes  false:Nopublic boolean isLineV(){return (p0.y==p1.y);}// 线段斜率 public float LineSlope(){return (p1.y-p0.y)/(p1.x-p0.x);}// 求线段中点public Point LineMid(){Point p = new Point();p.x = (p1.x+p0.x)/2.0f;p.y = (p1.y+p0.y)/2.0f;return p;}// 打印当前点public void Print_Point(){System.out.print("Point0:("+p0.x+","+p0.y+")"+" ");System.out.print("Point1:("+p1.x+","+p1.y+")"+"\r\n");}// 打印计算结果public void Print(){System.out.println("Line length:"+this.Line_Length());System.out.println("Line horizontal?"+this.isLineH());System.out.println("Line vertical?"+this.isLineV());System.out.println("Line slope:"+this.LineSlope());System.out.println("Line mid:("+this.LineMid().x+","+this.LineMid().y+")");}}

运行结果如下:

感觉JAVA用起来是比较方便,第一次写JAVA程序,还望大神指导一下不足之处。

JAVA学习之类与对象例题分享(两点确定直线并进行相关操作)相关推荐

  1. java学习--类与对象

    文章目录 java学习--类与对象 类的定义与对象的使用 类的私有成员的使用 java学习–类与对象 类的定义与对象的使用 类的定义与对象的使用 类的定义步骤: public 类名: //定义成员变量 ...

  2. java学习之类与对象篇——奥特曼打小怪兽

    java学习之类与对象篇--奥特曼打小怪兽 初次接触Java,我们就被告知Java是一种面向对象的程序设计语言,那么什么是面向对象呢?什么又是对象呢?带着这些个疑问,我们开始了Java学习之旅. 1. ...

  3. java学习---类与对象

    java学习心得3 文章目录 java学习心得3 类 对象 关键字this 总结与反思 类 一 定义一个Java的类 属性 : 将数据存储在变量中 1成员变量 使用成员变量:对象名.变量名 使用成员方 ...

  4. Java学习资料汇总(吐血分享)----持续更新中

    java学习攻略: 1.javase  html  css  javascript 历经5年锤炼(史上最适合初学者入门的Java基础视频) Java基础教程(java入门学习第一免费视频下载) Jav ...

  5. java 面相,java学习17-面相对象(多态)

    多态 --父类或者接口的引用指向自己的子类对象. 优点:提高代码的扩展性 弊端:前期建立父类的引用,虽然可以接受后期所有该类的子类的对象.但是只能使用父类中的功能,不能使用子类特有的功能,因为前期的程 ...

  6. Java学习笔记类对象多态继承(下)

    面向对象(下) 1.类的继承 一.什么是继承,有什么用? 继承:在现实世界当中也是存在的,例如:父亲很有钱,几子不用努力也很有钱 继承的作用: 基本作用:子类继承父类,代码可以得到复用.(这个不是重要 ...

  7. 零基础Java学习之类和对象

    类和对象 类 对象 类与对象的关系 类的定义和对象的创建 事物与类的对比 类的定义格式 对象的创建 类 类:是一类具有相同特性的事物的抽象描述,是一组相关属性和行为的集合.可以看成是一类事物的模板,使 ...

  8. java学习笔记(四)----对象、数组作为参数传递,静态变量、静态方法的使用,内部类,使用文档注释

    ***对象作为参数传递*** class passparam { int x;   public static void main(String[] args)   { passparam obj = ...

  9. day13 Java学习(常见对象正则表达式)

    常见对象(正则表达式) 概述: 指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串.(其实就是一种规则) 检验方法: matches() 格式:"*******".m ...

最新文章

  1. BZOJ 2139 road(构造,最小生成树)【BZOJ 修复工程】
  2. 关于(++i)+(++i)+(++i)与(++i)+(i++)与(i++)+(++i)
  3. java 优先队列从小到大,优先队列(Java)
  4. [GAN学习系列2] GAN的起源
  5. 毕业典礼校长致辞金句频出:搬砖也要元气满满
  6. grade java_Gradle Java 构建入门
  7. java 自定义编译注解 进行代码检查
  8. mac中rabbitmq的安装
  9. vc++中进程通信之剪贴板常用函数
  10. android 属性翻牌动画,如何在Android中利用TextSwitcher实现一个文字上下翻牌效果
  11. idea创建gredle项目jar包无法导入
  12. 如何给论文添加参考文献
  13. android 渐变蒙版_PPT教程 | 渐变蒙版
  14. 跳出固化语境,固化思维,坚持反洗脑
  15. 苹果v10模板需要几的php,苹果MACCMSv10源码模板安装常见问题
  16. PyTorch学习笔记2:nn.Module、优化器、模型的保存和加载、TensorBoard
  17. 一款简单的声控报警电路
  18. 容器化技术与微服务结合---SpringCloud框架与阿里云serverless k8s的结合(六)
  19. bzoj4084【SDOI2015】bigyration
  20. 王兴:为什么中国的To B企业都活得这么惨?

热门文章

  1. 回溯法采用的搜索策略_急性阑尾炎最典型的症状为:
  2. Oracle 数据字典表的使用
  3. django设置models.Model数据可以为空
  4. os.path.realpath(__file__) 得到错误路径,与解决方案
  5. 排序算法(3)----归并排序
  6. websocket java 例子_java 实现websocket的两种方式实例详解
  7. ctf 抓捕赵德汉_2017年网络空间安全技术大赛部分writeup
  8. python为什么import不了_解决python有时候import不了当前的包问题
  9. Java知识系统回顾整理01基础04操作符02关系操作符
  10. ubuntu 虚拟机上的 django 服务,在外部Windows系统上无法访问