三角形、梯形和圆形的类封装
1.三角形、梯形和圆形的类封装
要求:
编写一个Java应用程序,该程序中有3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。具体要求如下:
a) Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能。另外,Trangle类还具有一个boolean型的属性,该属性用来判断三个属能否构成一个三角形。
b) Lader类具有类型double的上底、下底、高、面积属性,具有返回面积的功能。
c) Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能
package xin;
import java.util.Scanner;
class Circle { double rad,a,area;Circle(double x){ //构造函数rad = x;}double ZhouC(){a = 2*3.14*rad; //圆周长return a;}double CmsianJi(){area = 3.14*rad*rad; //圆面积return area;}
}
class Lader {double above,bottom,height;double area;Lader(double x,double y,double z){ //构造函数above = x;bottom = y;height = z;}double LmianJi(){area = (above+bottom)*height/2.0; //梯形面积return area;}
}class Trangle {double a;double b;double c;double p;double zhouchang,area;boolean boo; Trangle(double x,double y,double z){ //构造函数a = x;b = y;c = z;p = (a+b+c)/2.0;if(a+b>c&&a+c>b&&b+c>a) {boo = true;if(boo) //判断能否构成三角形System.out.println("三边能构成三角形");} else{ System.out.println("三边不能构成三角形");}}double TzhouC(){zhouchang = a+b+c; //三角形周长return zhouchang;} double TmianJi(){area = Math.sqrt(p*(p-a)*(p-b)*(p-c)); //三角形面积return area;}}public class Example {
public static void main(String args[]){double area,zc,area1,zc1;Scanner reader = new Scanner(System.in);System.out.println("输出a的值为true还是false");//判断a输入值boolean a = reader.nextBoolean();if(a) {while(a){Circle circle = new Circle(2.0);System.out.println("请输入圆的半径值:");circle.rad = reader.nextDouble();area = circle.CmsianJi();zc = circle.ZhouC();System.out.println("圆的面积为:"+area);System.out.println("圆的周长为:"+zc);System.out.println("重新输入半径的值:");circle.rad = reader.nextDouble(); //设置新值area1 = circle.CmsianJi();zc1 = circle.ZhouC();System.out.println("圆的面积为:"+area1);System.out.println("圆的周长为:"+zc1);System.out.println("***************************");Lader lader = new Lader(4.0,5.0,6.0);area = lader.LmianJi();System.out.println("梯形的面积为:"+area);System.out.println("重新输入长、宽、高的值:");lader.above = reader.nextDouble(); //设置新值lader.bottom = reader.nextDouble(); //设置新值lader.height = reader.nextDouble(); //设置新值area1 = lader.LmianJi();System.out.println("梯形的面积为:"+area1);System.out.println("***************************");Trangle trangle = new Trangle(3.0,4.0,5.0); area = trangle.TmianJi();zc = trangle.TzhouC(); System.out.println("三角形的面积为:"+area);System.out.println("三角形的周长为:"+zc);System.out.println("重新输入三角形的三条边的值:");trangle.a = reader.nextDouble(); //设置新值trangle.b = reader.nextDouble(); //设置新值trangle.c = reader.nextDouble(); //设置新值Trangle trangle1 = new Trangle(trangle.a,trangle.b,trangle.c);//设置新的三边进行赋值area1 = trangle1.TmianJi();zc1 = trangle1.TzhouC();System.out.println("三角形的面积为:"+area1);System.out.println("三角形的周长为:"+zc1);System.out.println("***************************");System.out.println("输出值为true则继续,反之终止程序");//判断while语句是否继续boolean b = reader.nextBoolean();if(b){main(args);}//自己调用主函数完成循环elsebreak;//如果不继续调用则退出
}
}else{System.out.println("程序无法执行!!!!!!!!");}
}
}
运行结果:


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
