Java語言程序設計 上機實驗4java
實驗目的:數組
理解接口的做用,理解接口和實現接口的類的關係,掌握聲明接口、一個類實現接口的聲明和使用方法;熟悉Java語言包和實用包中的經常使用類。this
實驗內容:(*)爲選作spa
實驗要求:設計
1. 在實驗報告中給出程序運行結果截圖。調試
2. 源程序代碼附到實驗報告的最後。code
3. 認真填寫實驗報告並妥善存檔,在下次上機實驗課以前發送電子版實驗報告至 wsycup@foxmail.com。對象
注意,「郵件標題」與「附件實驗報告文件名」均爲:blog
Java2實驗報告N_學號_姓名排序
其中N爲阿拉伯數字,指第幾回實驗,例如:
Java2實驗報告3_ 2012010400_李雷
請嚴格按照規定的格式發送郵件(注意標題中「Java」後的數字「2」),郵件標題不符合格式要求等同於未交做業,並在規定的時間發送實驗報告郵件,過時無效。
4. 實驗報告雷同者將不能獲得相應的平時分。
附錄:實驗報告
實驗題目__實驗四___
學號_2014011329_ 姓名_許愷__ 班級__計算機14-1____ 時間__2016.4.26____
實驗題目解答
一.
二.
附:源程序
一.
Cylinder.Java package one; public class Cylinder extends Ellipse implements IVolume{ /** * @param args */ int high; Cylinder(){ this.high=6; } public double Volume(){ return radius_a*radius_b*3.14*high; } public double Area(){ return radius_a*radius_b*3.14*2+high*Perimeter(); } public static void main(String[] args) { // TODO Auto-generated method stub IVolume A=new Cylinder(); IVolume V=new Cylinder(); System.out.println("表面積是"+A.Area()); System.out.println("體積是"+V.Volume()); } } Ellipse.java package one; public class Ellipse implements IPerimeter,IArea{ //橢圓類 protected double radius_a; //a軸半徑 protected double radius_b; //b軸半徑 public Ellipse(double radius_a) { //構造方法 this.radius_a = radius_a; } public Ellipse(double radius_a, double radius_b) { //構造方法 this.radius_a = radius_a; this.radius_b = radius_b; } public Ellipse() { this(4,4); } public String toString() { return "a軸半徑"+this.radius_a+",b軸半徑"+this.radius_b; } public double Area() { //計算橢圓面積,覆蓋父類的抽象方法 return Math.PI*this.radius_a*this.radius_b; } public double Perimeter(){ //計算橢圓周長,覆蓋父類的抽象方法 return Math.PI*(this.radius_a+this.radius_b); } } IArea.java package one; public interface IArea { public double Area(); } IPerimeter.java package one; public interface IPerimeter { public double Perimeter(); } IVolume.java package one; public interface IVolume { public double Volume(); public double Area(); } 二. package two; import java.util.Arrays; public class Q2 { public static void main(String[] args) { // TODO Auto-generated method stub String[] a=new String[20]; String b=new String(); String c=new String(); b="g"; a[0]="a";a[1]="b";a[2]="c";a[3]="d";a[4]="e";a[5]="f";a[6]="g";a[7]="h"; a[8]="i";a[9]="j";a[10]="k";a[11]="l";a[12]="m";a[13]="n";a[14]="o"; for(int i=0;i<15;i++){ for(int j=i+1;j<15;j++){ if(a[i].compareTo(a[j])>0){ c=a[i]; a[i]=a[j]; a[j]=c; } } } if(sxcz(b,a)){ System.out.println("順序查找法已查找到"); } else{ System.out.println("順序查找未找到"); } if(efcz(b,a)){ System.out.println("二分法查找法已查找到"); } else{ System.out.println("二分法查找未找到"); } } public static boolean sxcz(String b,String[] a){ for(int i=0;i<20;i++){ if(b==a[i]){ return true; } } return false; } public static boolean efcz(String b,String[] a){ int front=0; int end=14; int mid=7; for(;end>=front;){ if(a[mid]==b) return true; else if(a[mid].compareTo(b)>0){ end=mid-1; mid=(mid+front)/2; } else{ front=mid+1; mid=(front+end)/2; } } return false; } }
反思與總結:
此次實驗鍛鍊了對於接口的使用,也讓我更加理解接口的功能和在整個java體系中的位置和做用,我覺的對於接口的使用和理解還能夠更加的深刻一些,讓你們咱們更加體會到java語言的強大。