2015-11-25 59 views
1

嗨,我是非常新的Java,我們被要求寫入方法需要在一個標記(雙打)數組作爲參數。然後程序計算並打印總標記,平均標記和平均標記,如果最低標記被省略的話。 通過更改初始化語句至少運行3次來測試程序。這是什麼意思,改變初始化語句

,我有這樣的代碼:

public class Excercise7 { 
 
    public static void main(String[] args) { 
 
     double[] marks = {10.0, 9.0, 10.0, 10.0, 5.0, 10.0, 10.0, 10.0, 10.0}; 
 
     computeAverage(marks); 
 
    } 
 

 
    public static void computeAverage(double[] marks) { 
 
     System.out.print("Marks: "); 
 
     double total = 0.0; 
 
     double lowest = marks[0]; 
 
     int lowestindex = 0; 
 
     for (int i = 0; i < marks.length; i++) { 
 
      System.out.print(marks[i] + " "); 
 
      total += marks[i]; 
 
      if (marks[i] < lowest) { 
 
       lowest = marks[i]; 
 
       lowestindex = i; 
 
      } 
 
     } 
 
     System.out.println(); 
 
     System.out.println("Total: " + total); 
 
     System.out.println("Average: " + total/marks.length); 
 

 
     System.out.print("Average omitting lowest: "); 
 
     total = 0.0; 
 
     for (int i = 0; i < marks.length; i++) { 
 
      if (i != lowestindex) { 
 
       total += marks[i];  
 
      } 
 
     } 
 
     System.out.println(total/(marks.length - 1)); 
 
    } 
 
}

是什麼意思時,它說: 「改變初始化語句」?我只是將標記數組更改爲我想要的數據?

+0

是的。初始化程序是您最初設置變量的值。因此,在'marks ='('{10.0,9.0等}')後面的數組可以設置初始的'marks'值。改變這些以獲得不同的行爲。 – par

+0

[JLS#8.3](https://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-VariableInitializer)/ [JLS#10.6](https:// docs。 oracle.com/javase/specs/jls/se8/html/jls-10.html#jls-10.6)是超級官方解釋 – zapl

回答

0

這是對的,他們要求你改變數組的值,不僅要改變類似數值的值,可以嘗試使用-125.68這樣的負值,而不是隻改變9個值,嘗試把更多的值放在陣列。