我正在尝试编写一个名为marksToGrades 的静态方法,该方法将1 到100 之间的标记(双精度)数组作为参数,并返回一个包含相应成绩的字符串数组。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;}这是我收到的以下错误,但我不确定如何解决此问题。任何帮助将非常感激。谢谢你。
2 回答
![?](http://img1.sycdn.imooc.com/545863c10001865402200220-100-100.jpg)
陪伴而非守候
TA贡献1757条经验 获得超8个赞
在array
被定义为double[] array
这意味着它是双值的阵列。
随着array[i] = "A";
你分配String
到的阵列double
值,这是不兼容的。简单地说,您不能为十进制数数组分配一个字。
要修复它,请使用String[] grades
已经定义的 :
grades[i] = "A";
此外,您需要使用与输入数组相同的长度来初始化数组。
String[] grades = new String[array.length];
![?](http://img1.sycdn.imooc.com/533e4c1500010baf02200220-100-100.jpg)
翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
您收到此错误是因为类型不兼容。
您需要创建一个String[] grades;
作为返回类型:
String[] grades = new String[array.length];
并grades
像这样分配等级:
grades[i] = "A";
添加回答
举报
0/150
提交
取消