晚上好
,我正在尝试解决一个问题:
您将获得一个 int[] 标记,其中包含您迄今为止在课堂上获得的成绩。每个等级介于 0 到 10 之间,包括 0 和 10。假设您将在所有未来作业中获得 10 分,请确定您获得 10 的最终成绩所需的未来作业的最小数量。如果您的平均成绩为 9.5 或更高,您将获得 10 的最终成绩。
定义
类:AimToTen
方法:need
参数:int[]
返回:int
方法签名:int need(int[] 标记)
(确保您的方法是公开的)
示例
1)
{9, 10, 10, 9}
返回:0
您的平均值已经是 9.5,因此不需要将来分配。
2)
{8, 9}
返回:4
在这种情况下,您还需要 4 个作业。每完成一个
作业,你的平均分可以分别提高到 9、9.25、9.4 和 9.5
我试图解决的是:
public int need(int[] marks) {
int i=0, sum = 0, avg = 0, k = 0, counter = 0, ToCompleteMarks[] = null;
for (i; i < marks.length; i++) {
sum = sum + marks[i];
ToCompleteMarks[i] = marks[i] + ToCompleteMarks[i];// To copy the array so when i add 10 later to the program the original array does not change > good ?
}
avg = sum / marks.length;
while (avg < 9.5)
ToCompleteMarks[i]; //I need to add the number 10 to the array then get back to calculate the avg . But no ideas how to do that ! .
counter++;
return counter;
}
如果你能帮助我,我会非常感激
谢谢