为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕尼黑8549860 2021-06-18 14:01:42
我正在尝试编写一个名为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 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

array被定义为double[] array这意味着它是双值的阵列。

随着array[i] = "A";你分配String到的阵列double值,这是不兼容的。简单地说,您不能为十进制数数组分配一个字。

要修复它,请使用String[] grades已经定义的 :

grades[i] = "A";

此外,您需要使用与输入数组相同的长度来初始化数组。

String[] grades = new String[array.length];


查看完整回答
反对 回复 2021-06-30
?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

您收到此错误是因为类型不兼容。

您需要创建一个String[] grades;作为返回类型:

String[] grades = new String[array.length];

grades像这样分配等级:

grades[i] = "A";


查看完整回答
反对 回复 2021-06-30
  • 2 回答
  • 0 关注
  • 119 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信