2

ボウル オブジェクトの配列が渡されるボウル クラスに追加される calculateAverageWeight という名前の静的メソッドを記述し、配列内のボウルの平均重量を返します。

これはボウルクラスです:

public class Bowl {
private double weight;
private boolean empty;
private String origin; // country of manufacture

public Bowl(double w, boolean e, String origin) {
    weight = w;
    empty = e;
    this.origin = origin;
}

public double getWeight() {
    return weight;
}

public boolean getEmpty() {
    return empty;
}

public String getOrigin() {
    return origin;
}

public void setEmpty(boolean emptyStatus) {
    empty = emptyStatus;
}

public String toString() {
    return ("from " + origin + " weight: " + weight);
}

次のコードが機能しました。

public static double calculateAverageWeight(Bowl[] bowls)
{
double sum=0;
double average=0;
for(int j=0; j<bowls.length; j++)
{
sum+=bowls[j].getWeight();
average=sum/bowls.length;
}
return average;
}

しかし、最近のコードが私とほぼ同じように動作するように見えるのに、なぜそうしなかったのか理解できませんか?:

public static double calculateAverageWeight(Bowl[] bowls){
double sum=0;
double k=bowls.length;
for(int j=0; j<bowls.length; j++){
sum=sum+bowls[j].getWeight();}
double average=sum/k;
return average;}
4

2 に答える 2

0
public static double calculateAverageWeight(Bowl[] bowls)
{
    double sum=0;
    double average=0;
    for(int j=0; j<bowls.length; j++)
    {
        sum+=bowls[j].getWeight();
        average=sum/bowls.length;
    }
    return average;
}
于 2013-03-26T02:28:44.917 に答える
0

calculateAverageWeightのコードは問題ありませんが、Bowl クラスの末尾に「}」がありません。

また、 calculateAverageWeightメソッドは別のクラス内にある必要があるため、そこにも何かが欠けている可能性があります。あなたのコードを投稿できますか?

于 2013-03-26T02:30:35.433 に答える