2014-11-16 86 views
1

好的,除了minMax方法以外的所有方法字,這是一個從我的CircleWithPrivateDataFields.java獲取信息的文件。 如果您需要任何代碼,可以讓我知道我可以用適當的文件重新編輯這個文件。查找圓半徑的最小值和最大值

這是我的錯誤:雙能不能轉換爲CircleWithPrivateDataFields

什麼將我必須做這個工作,我知道我很接近,但我不知道在哪裏可以從這裏走。

請記住,這是minMax方法,只需要工作。

在此先感謝!

public class TotalArea { 
public static void main(String[] args) { 
    //Declare circle array 
    CircleWithPrivateDataFields[] circleArray; 

    //Create circleArray 
    circleArray = createCircleArray(); 

    printCircleArray(circleArray); 

    minMax(circleArray);   
} 

public static CircleWithPrivateDataFields[] createCircleArray() { 
    CircleWithPrivateDataFields[] circleArray = new CircleWithPrivateDataFields[5]; 

    for (int i=0; i < circleArray.length; i++) { 
    circleArray[i] = new CircleWithPrivateDataFields(Math.random() * 100); 
    } 
    //Return circle array 
    return circleArray; 
}//end createCircleArray method 

/* 

    takes the array of circles and determines the 
    smallest and largest circles in the array and prints out their information. 

*/ 

public static void minMax(CircleWithPrivateDataFields[] circleArray) { 
System.out.println(); 
double max; 

    for (int i=0; i<circleArray.length; i++) { 
    if(circleArray[i].getRadius() > 0) { 
     circleArray[i] = max; 
    } 

    } 
} 



    //Add circle areas 
    public static double sum(CircleWithPrivateDataFields[] circleArray) { 
     //Initalize sum 
    double sum = 0; 

     //Add areas to sum 
    for (int i=0; i<circleArray.length; i++) 
    sum += circleArray[i].getArea(); 

    return sum; 
} 
} 
+1

雖然有一些東西在邏輯上不是在計劃很理解,編譯器錯誤是由於該行 'circleArray [i] = MAX;' 你,如果你想申報'max'爲'CircleWithPrivateDataFields'將其分配給數組。 – shasan

+0

@Justin怎麼樣? –

+0

好!找出它,採取了一些不同的路線...設置雙最小和最大等於'circleArray [0] .getRadius()'然後設置兩個for循環循環訪問數組以找到最小和最大的一對夫婦如果/ else語句。謝謝! @StéphaneBruckert – Justin

回答

1

您正在添加max(一個double)至circleArray這是CircleWithPrivateDataFields陣列。

您必須確定circleArraydouble的數組或CircleWithPrivateDataFields類延伸Double