1、三角形、梯形和圆形的类封装
编写一个Java应用程序,该程序中有3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。具体要求如下:
a) Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能。另外,Trangle类还具有一个boolean型的属性,该属性用来判断三个属能否构成一个三角形。
b) Lader类具有类型double的上底、下底、高、面积属性,具有返回面积的功能。
c) Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能。
package MyProj1; class Trangle { double sideA, sideB, sideC, area, length; boolean boo; public Trangle(double a, double b, double c) { sideA = a; sideB = b; sideC = c; // 【代码1】:参数a,b,c分别赋值给sideA,sideB,sideC if (a+b>c && a+c>b && b+c>a) { // 【代码2】:a,b,c构成三角形的条件表达式 boo = true; // 【代码3】:给boo赋值。 } else { boo = false; // 【代码4】:给boo赋值。 } } double getLength() { length = sideA + sideB + sideC; return length; // 【代码5】:方法体,要求计算出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) { sideA = a; sideB = b; sideC = c; // 【代码6】:参数a,b,c分别赋值给sideA,sideB,sideC if (a+b>c && a+c>b && b+c>a) { // 【代码7】:a,b,c构成三角形的条件表达式 boo = true;// 【代码8】:给boo赋值。 } else { boo = false; // 【代码9】:给boo赋值。 } } } class Lader { double above, bottom, height, area; Lader(double a, double b, double h) { above = a; bottom = b; height = h; // 【代码10】:方法体,将参数a,b,h分别赋值给above,bottom,height } double getArea() { area = 0.5 * (above + bottom) * height; return area; // 【代码11】:方法, 要求计算出area返回 } } class Circle { double radius, area; Circle(double r) { radius = r; // 【代码12】:类Circle方法体,将参数r赋予成员变量radius } double getArea() { area = Math.PI * radius * radius; return area; // 【代码13】:方法体,要求计算出area返回 } double getLength() { return 2 * Math.PI * radius; // 【代码14】: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(4); //【代码15】:创建对象circle trangle = new Trangle(3,4,5); //【代码16】:创建对象trangle。 lader = new Lader(3, 4, 2); //【代码17】:创建对象lader length = circle.getLength(); //【代码18】: circle调用方法返回周长并赋值给length System.out.println("圆的周长:"+length); area = circle.getArea();//【代码19】: circle调用方法返回面积并赋值给area System.out.println("圆的面积:"+area); length = trangle.getLength();//【代码20】: trangle调用方法返回周长并赋值给length System.out.println("三角形的周长:"+length); area = trangle.getArea();// 【代码21】: trangle调用方法返回面积并赋值给area System.out.println("三角形的面积:"+area); area = lader.getArea();//【代码22】: lader调用方法返回面积并赋值给area System.out.println("梯形的面积:"+area); trangle.setABC(12, 34, 1);//【代码23】: trangle调用方法设置三个边,要求将三个边修改为12,34,1。 area= trangle.getArea(); // 【代码24: trangle调用方法返回面积并赋值给area System.out.println("三角形的面积:"+area); length = trangle.getLength();// 【代码25】:trangle调用方法返回周长并赋值给length System.out.println("三角形的周长:"+length); } }
运行结果截图:
2、实例成员与类成员
给出如下程序模板,按程序模板的要求编写源文件,要特别注意程序的输出结果,并能正确解释输出的结果。
源程序文件名:Example.java
package MyProj2; class A { float a; // 【代码1】: 声明一个float型实例变量a static float b; // 【代码2】声明一个float型类变量b,即static变量b void setA(float a) { this.a = a; // 【代码3】:将参数a的值赋值给成员变量a } void setB(float b) { this.b = b; // 【代码4】:将参数b的值赋值给成员变量b } float getA() { return a; } float getB() { return b; } void outputA() { System.out.println(a); } static void outputB() { System.out.println(b); } } public class Example { public static void main(String args[]) { A.b = 100; // 【代码5】: 通过类名操作类变量b,并赋值100 A.outputB(); // 【代码6】:通过类名调用方法outputB() A cat = new A(); A dog = new A(); cat.setA(200); // 【代码7】:cat象调用方法setA(int a)将cat的成员a的值设置为200 cat.setB(400); // 【代码8】:cat调用方法setB(int b)将cat的成员b的值设置为400 dog.setA(150); // 【代码9】:dog象调用方法setA(int a)将dog的成员a的值设置为150 dog.setB(300); // 【代码10】:dog调用方法setB(int b)将dog的成员b的值设置为300 cat.outputA(); // 【代码11】:cat调用outputA( )。 cat.outputB(); // 【代码12】:cat调用outputB( )。 dog.outputA(); // 【代码13】:dog调用outputA( )。 dog.outputB(); // 【代码14】:dog调用outputB( )。 } }
运行结果截图:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/79325.html