<h2>3.1<span style="font-family:楷體_GB2312;">、實驗目的</span></h2><p>l 進一步掌握類的定義和對象的創建</p><p>l 掌握訪問控制符的關係(<span style="font-family:Times New Roman;">public</span><span style="font-family:宋體;">、</span><span style="font-family:Times New Roman;">priviate</span><span style="font-family:宋體;">、</span><span style="font-family:Times New Roman;">protect</span><span style="font-family:宋體;">)</span></p><p> </p><h2>3.2<span style="font-family:楷體_GB2312;">、實驗準備</span></h2><p>(<span style="font-family:Times New Roman;">1</span><span style="font-family:宋體;">) </span><span style="font-family:Times New Roman;">JDK</span><span style="font-family:宋體;">安裝</span></p><p>(<span style="font-family:Times New Roman;">2</span><span style="font-family:宋體;">) </span><span style="font-family:Times New Roman;">Eclipse</span><span style="font-family:宋體;">的安裝</span></p><p>(<span style="font-family:Times New Roman;">3</span><span style="font-family:宋體;">) 書本第四章節的複習</span></p><p> </p><h2>3.3<span style="font-family:楷體_GB2312;">、實驗內容與要求</span></h2><p>一、編寫一個<span style="font-family:Times New Roman;">Java</span><span style="font-family:宋體;">應用程序,該程序中有</span><span style="font-family:Times New Roman;">3</span><span style="font-family:宋體;">個類:</span><span style="font-family:Times New Roman;">Trangle</span><span style="font-family:宋體;">、</span><span style="font-family:Times New Roman;">Ladder</span><span style="font-family:宋體;">和</span><span style="font-family:Times New Roman;">Circle</span><span style="font-family:宋體;">,分別用來刻畫“三角形”、“梯形”和“圓形”。具體要求如下:</span><span style="font-family:Times New Roman;"> </span></p><p>a) Trangle<span style="font-family:宋體;">類具有類型為</span><span style="font-family:Times New Roman;">double</span><span style="font-family:宋體;">的三個邊,以及周長、面積屬性,</span><span style="font-family:Times New Roman;">Trangle</span><span style="font-family:宋體;">類具有返回周長、面積以及修改三個邊的功能。另外,</span><span style="font-family:Times New Roman;">Trangle</span><span style="font-family:宋體;">類還具有一個</span><span style="font-family:Times New Roman;">boolean</span><span style="font-family:宋體;">型的屬性,該屬性用來判斷三個屬能否構成一個三角形。</span><span style="font-family:Times New Roman;"> </span></p><p>b) Ladder<span style="font-family:宋體;">類具有類型</span><span style="font-family:Times New Roman;">double</span><span style="font-family:宋體;">的上底、下底、高、面積屬性,具有返回面積的功能。</span><span style="font-family:Times New Roman;"> </span></p><p>c) Circle<span style="font-family:宋體;">類具有類型為</span><span style="font-family:Times New Roman;">double</span><span style="font-family:宋體;">的半徑、周長和麪積屬性,具有返回周長、面積的功能</span></p><p> </p><p>二、編寫一個<span style="font-family:Times New Roman;">StringUtils</span><span style="font-family:宋體;">類,實現十進制到八進制的轉換並輸出。需要一個測試類加以測試。</span></p><p> </p>
import java.util.Scanner;
public class Mymain {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
@SuppressWarnings("resource")
Scanner sc=new Scanner(System.in);
double l1,l2,l3;
while(true)
{
System.out.println("請輸入三角形的三邊長:");
l1=sc.nextDouble();
l2=sc.nextDouble();
l3=sc.nextDouble();
if(l1+l2>l3&&l1+l3>l2&&l2+l3>l1)
{
break;
}
}
Trangle sjx=new Trangle(l1,l2,l3);
System.out.println("三角形的周長:"+sjx.getPerimeter());
System.out.println("三角形的面積:"+sjx.getArea());
System.out.println("請輸入梯形的上底,下底,高:");
l1=sc.nextDouble();
l2=sc.nextDouble();
l3=sc.nextDouble();
Ladder tx=new Ladder(l1,l2,l3);
System.out.println("梯形的面積:"+tx.getArea());
System.out.println("請輸入園的半徑:");
l1=sc.nextDouble();
Circle yuan=new Circle(l1);
System.out.println("園的周長:"+yuan.getPerimeter());
System.out.println("園的面積:"+yuan.getArea());
System.out.println("請輸入一個10進制數:");
int val=sc.nextInt();
System.out.println("8進製表示:"+new StringUtils().change(val));
}
}
class Trangle
{
double l1,l2,l3;
Trangle(double l1,double l2,double l3)
{
this.l1=l1;
this.l2=l2;
this.l3=l3;
}
double getPerimeter()
{
return l1+l2+l3;
}
double getArea()
{
double p=(l1+l2+l3)/2;
return Math.sqrt(p*(p-l1)*(p-l2)*(p-l3));
}
}
class Ladder
{
double sd,xd,h;
Ladder(double sd,double xd,double h)
{
this.sd=sd;
this.xd=xd;
this.h=h;
}
double getArea()
{
return (sd+xd)*h/2;
}
}
class Circle
{
double r;
Circle(double r)
{
this.r=r;
}
double getPerimeter()
{
return 2*r*Math.PI;
}
double getArea()
{
return Math.PI*r*r;
}
}
class StringUtils
{
String change(int val)
{
String tem="";
while(val>0)
{
tem+=val%8;
val/=8;
}
if(tem.length()==0)
tem="0";
String re="";
for(int i=tem.length()-1;i>=0;i--)
{
re+=tem.charAt(i);
}
return re;
}
}
本文章為轉載內容,我們尊重原作者對文章享有的著作權。如有內容錯誤或侵權問題,歡迎原作者聯繫我們進行內容更正或刪除文章。