close
package classadvanced; /* * 傳遞物件陣列到函數裡 * EX:建立10個物件陣列,值為1~100的亂數整數 * (a)建立有一引數(int r)的建構元設定實例變數radius的值 * (b)傳遞物件陣列到average函數中算radius平均並回傳 * (c)傳遞物件陣列到compare函數中找出最大值並回傳 */ class CCircle{ private int radius; public CCircle(int r){ this.radius=r; } public static double average(CCircle c[]){ //宣告為static函數,方便用類別名稱.函數名稱()呼叫 double sum=0,average=0; for(int i=0;i<c.length;i++){ System.out.println("c["+i+"]="+c[i].radius); sum+=c[i].radius; } average=(sum)/c.length; return average; } public static int compare(CCircle c[]){ //比較大小 int max; max=c[0].radius; for(int i=0;i<c.length;i++){ if(max<c[i].radius){ max=c[i].radius; } } return max; } } public class BasicArrayObject { public static void main(String[] args) { CCircle c[]=new CCircle[10]; //設定物件陣列大小 for(int i=0;i<c.length;i++){ //亂數給值 c[i]=new CCircle((int)(Math.random()*100)+1); } System.out.printf("ArrayObject of average=%.2f\n",CCircle.average(c)); //印出平均取小數點第2位 System.out.println("ArrayObject of maxvalue="+CCircle.compare(c)); } }
全站熱搜
留言列表