Java 继续前进
2012-09-29 19:19
183 查看
封装问题!!!
源程序:
学过C++之后再学Java确实方便了不少,有好多小知识点可以直接掌握,还有一些小错误可以直接避免。
源程序:
package guo; class Trangle { double sideA,sideB,sideC,area,length; boolean boo; public Trangle(double a,double b,double c) { //参数a,b,c分别赋值给sideA,sideB,sideC sideA = a; sideB = b; sideC = c; if((sideA + sideB > sideC)&&(sideC + sideB > sideA)&&(sideA + sideC > sideB)) //a,b,c构成三角形的条件表达式 { boo = true; //给boo赋值。 } else { boo = false; //给boo赋值。 } } double getLength() { return(sideA+sideB+sideC); //方法体,要求计算出length的值并返回 } public double getArea() { if(boo) { double p=(sideA+sideB+sideC)/2.0; area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC)) ; return area; } else { System.out.println("不是一个三角形,不能计算面积"); return 0; } } public void setABC(double a,double b,double c) { //参数a,b,c分别赋值给sideA,sideB,sideC sideA = a; sideB = b; sideC = c; if((sideA + sideB > sideC)&&(sideC + sideB > sideA)&&(sideA + sideC > sideB)) //a,b,c构成三角形的条件表达式 { boo = true; //给boo赋值。 } else { boo = false; //给boo赋值。 } } } class Lader { double above,bottom,height,area; Lader(double a,double b,double h) { //方法体,将参数a,b,c分别赋值给above,bottom,height above = a; bottom = b; height = h; } double getArea() { return (((above+ bottom)*height)/2);//方法体,,要求计算出area返回 } } class Circle { double radius,area; Circle(double r) { radius = r; //方法体 } double getArea() { return(3.14*radius*radius); //方法体,要求计算出area返回 } double getLength() { return (2*3.14*radius); //getArea方法体的代码,要求计算出length返回 } void setRadius(double newRadius) { radius=newRadius; } double getRadius() { return radius; } } public class AreaAndLength { public static void main(String args[]) { double length,area; Circle circle=null; Trangle trangle; Lader lader; circle = new Circle(8); //创建对象circle trangle = new Trangle(3,4,5); //创建对象trangle。 lader = new Lader(5,6,7); //创建对象lader length = circle.getLength(); // circle调用方法返回周长并赋值给length System.out.println("圆的周长:"+length); area = circle.getArea(); // circle调用方法返回面积并赋值给area System.out.println("圆的面积:"+area); length = trangle.getLength(); // trangle调用方法返回周长并赋值给length System.out.println("三角形的周长:"+length); area = trangle.getArea(); // trangle调用方法返回面积并赋值给area System.out.println("三角形的面积:"+area); area = lader.getArea(); // lader调用方法返回面积并赋值给area System.out.println("梯形的面积:"+area); trangle.setABC(12, 34, 1); // trangle调用方法设置三个边,要求将三个边修改为12,34,1。 area = trangle.getArea(); // trangle调用方法返回面积并赋值给area System.out.println("三角形的面积:"+area); length = trangle.getLength(); // trangle调用方法返回周长并赋值给length System.out.println("三角形的周长:"+length); } }
学过C++之后再学Java确实方便了不少,有好多小知识点可以直接掌握,还有一些小错误可以直接避免。
相关文章推荐
- Java多线程系列——过期的suspend()挂起、resume()继续执行线程
- 继续前进
- PAT 1005. 继续(3n+1)猜想 (25) JAVA
- java字符串处理类----以后会继续添加方法到里面
- JAVA--第七周实验-- 继续上周封装对象的编程练习,完成矩阵的运算。
- 收拾好心情,继续前进吧
- 1005. 继续(3n+1)猜想 (25)-浙大PAT乙级真题java实现
- 继续前进之SpringMvc入门小程序
- JAVA 类 IE浏览器前进、后退等功能操作
- .Net,Java与C/C++语言的比较(配合代码实现,继续更新中......)
- 永中科技在海峡两岸ECFA大道上继续前进
- 从Java的角度理解设计模式85: 继续演化:对违反DIP原则的修复和应用创建型模式的展望
- 站起来继续前进
- 125day(继续阅读Core Java)
- 继续写写我的Java学习之路([我最喜欢的文章之一,转载)
- java中continue配合标签进行继续循环
- 1005. 继续(3n+1)猜想 (25)(java实现)
- java - 线程1打印1-10,当线程打印到5后,线程2打印“hello”,然后线程1继续打印
- 学完Java语法,如何继续走Java路? [转载]
- java中处理xml数据性能不能大幅提高的根本原因 - 继续追寻高性能xml解析方法