2014-11-16 41 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