Java练笔:一个类作为另一个类的参数调用。顺带训练数据在栈和堆的走向。思考若用C++写,delete应该怎么写
来源:互联网 发布:nginx获取header值 编辑:程序博客网 时间:2024/04/29 13:59
class Point{ private double x = 0,y = 0; Point(double i,double j){ x=i; y=j; } void setX(double i){ x = i; } void setY(double j){ y = j; } double getX(){ return x; } double getY(){ return y; }}//定义一个Point类,含有设定,获取平面坐标的方法。class Circle{ private Point o; private double radius; Circle(Point _o,double r){ o = _o; radius = r; } Circle(double r){ o = new Point(0,0); radius = r; } void contains(Point aim){ double xCoord = o.getX() - aim.getX(); double yCoord = o.getY() - aim.getY(); if ((xCoord * xCoord + yCoord * yCoord) > (radius * radius)) System.out.println("点在圆外");else if ((xCoord * xCoord + yCoord * yCoord) < (radius * radius)) System.out.println("点再圆内");else if ((xCoord * xCoord + yCoord * yCoord) == (radius * radius)) System.out.println("点在圆上"); } void setDot(double _x,double _y){ o.setX(_x); o.setY(_y); } //创建Circle类,把Point类作为参数传入复制构造函数。顺便练习overload。高一数学没学好,谷歌了圆的一般定义。 void setRadius(double _r){ radius = _r; } void reSet(double _x,double _y,double _r){ o.setX(_x); o.setY(_y); radius = _r; } Point getDot(){ return o; } double getRadius(){ return radius; } double area(){ return (3.14 * radius * radius); }//做了重设圆的参数,及相关细化参数的方法。面积计算}public class TestCircle { public static void main(String[] args) { Circle c1 = new Circle(new Point (1,2),2); Circle c2 = new Circle(5); System.out.println("第一个圆的坐标为:(" + c1.getDot().getX() + "," + c1.getDot().getY() + ")" + "," + c1.getRadius()); System.out.println("第二个圆的坐标为:(" + c2.getDot().getX() + "," + c2.getDot().getY() + ")" + "," + c2.getRadius()); System.out.println("第一个圆的面积为:" + c1.area()); System.out.println("第二个圆的面积为:" + c2.area()); c1.setDot(5,6); c2.setRadius(9); System.out.println("重设后第一个圆的坐标为:(" + c1.getDot().getX() + "," + c1.getDot().getY() + ")" + "," + c1.getRadius()); System.out.println("重设后第二个圆的坐标为:(" + c2.getDot().getX() + "," + c2.getDot().getY() + ")" + "," + c2.getRadius()); System.out.println("重设后第一个圆的面积为:" + c1.area()); System.out.println("重设后第二个圆的面积为:" + c2.area()); c1.reSet(7, 9, 12); c2.reSet(10, 9, 20); System.out.println("!重设后第一个圆的坐标为:(" + c1.getDot().getX() + "," + c1.getDot().getY() + ")" + "," + c1.getRadius()); System.out.println("!重设后第二个圆的坐标为:(" + c2.getDot().getX() + "," + c2.getDot().getY() + ")" + "," + c2.getRadius()); System.out.println("!重设后第一个圆的面积为:" + c1.area()); System.out.println("!重设后第二个圆的面积为:" + c2.area()); Point p = new Point(5.2,6.3); c1.contains(p); c2.contains(new Point(10,9)); }//验证函数功能是否正常调用,参数是否正常传入}
练手,顺带训练基于《java编码规则》的写代码。
0 0
- Java练笔:一个类作为另一个类的参数调用。顺带训练数据在栈和堆的走向。思考若用C++写,delete应该怎么写
- 用VS2005写一个 C 的类库和用 C#来调用的示例
- 怎么写一个可变参数的宏
- 简单的JSP跳转问题:从一个JSP跳转到另一个JSP的Action应该怎么写?
- 为类写一个自己的堆
- 作为一个程序员,怎么高效的写代码
- 怎么用javascript写一个调用exe程序的代码
- java import 一个自己写的类 比如Jam 怎么写
- Jni 简单实战 写一个c调用java的辅助类
- 一个函数作为另一个函数的参数
- 一个函数调用另一个函数,最好用参数传递。不然就得声明为全局变量。被调用的函数里边,变量前面写 global
- asp调用webservice时“string”类型的值用asp应该怎么写?
- asp调用webservice时“string”类型的值用asp应该怎么写?
- 在asp/asp.net中调用java写的类
- 在asp/asp.net中调用java写的类
- Java不使用calendar类和其余的类 只调用Scanner类写一个日历
- ssh用注解生成数据表时,实体类之间的的关系应该怎么写
- 一个完美的类的构造函数应该这样写
- 【CSS3】多列布局——column-count
- 【CSS3】列间距column-gap
- 对属性动画和事件分发机制的一些理解
- 【CSS3】列表边框column-rule
- const修饰类的成员函数
- Java练笔:一个类作为另一个类的参数调用。顺带训练数据在栈和堆的走向。思考若用C++写,delete应该怎么写
- 【CSS3】跨列设置column-span
- 如何使用pyQT做pythonGUI界面?
- 【CSS3】盒子模型
- Hashtable之哈希表一
- 论clone深层复制和浅层复制
- 文章标题
- [leetcode] 273. Integer to English Words 解题报告
- eclipse 连接 habse 问题汇总