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);}//自己呼叫主函式完成回圈
else
break;//如果不繼續呼叫則退出
}
}
else
{System.out.println("程式無法執行!!!!!!!!");}
}
}
運行結果:


轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/272467.html
標籤:java
上一篇:Tomcat簡介、服務部署、虛擬主機配置及相關組態檔引數優化
下一篇:java 編程習題 之 猴子偷桃
