编写一个查找成绩的静态方法

我正在尝试编写一个名为marksToGrades 的静态方法,该方法将1 到100 之间的标记(双精度)数组作为参数,并返回一个包含相应成绩的字符串数组。

http://img3.mukewang.com/60dc22670001c32d12420546.jpg

public static String[] marksToGrades(double[] array){

    double[] grades;

    for (int i = 0; i < array.length; i++){

    if (array[i] >= 80 && array[i] <= 100)

        array[i] = "A";

    else if (array[i] >= 65 && array[i] < 80)

        array[i] = "B";

    else if (array[i] >= 50 && array[i] < 65)

        array[i] = "C";

    else if (array[i] >= 0 && array[i] < 50)

        array[i] = "D";

    else array[i] = "Invalid";

    } 

    return grades;

}

这是我收到的以下错误,但我不确定如何解决此问题。

http://img3.mukewang.com/60dc2276000138fc15370940.jpg

任何帮助将非常感激。谢谢你。



慕尼黑8549860
浏览 120回答 2
2回答

陪伴而非守候

在array被定义为double[] array这意味着它是双值的阵列。随着array[i] = "A";你分配String到的阵列double值,这是不兼容的。简单地说,您不能为十进制数数组分配一个字。要修复它,请使用String[] grades已经定义的 :grades[i]&nbsp;=&nbsp;"A";此外,您需要使用与输入数组相同的长度来初始化数组。String[]&nbsp;grades&nbsp;=&nbsp;new&nbsp;String[array.length];

翻翻过去那场雪

您收到此错误是因为类型不兼容。您需要创建一个String[] grades;作为返回类型:String[]&nbsp;grades&nbsp;=&nbsp;new&nbsp;String[array.length];并grades像这样分配等级:grades[i]&nbsp;=&nbsp;"A";
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java