在java中更改数组内的值

时间:2013-11-12 19:16:21

标签: java eclipse

晚上好 我试图解决一个问题:

您将获得一个int []标记,其中包含您在课程中收到的成绩。每 等级在0到10之间,包括0和10。假设你将来会收到10分 分配,确定您需要的最低未来分配数 最终成绩为10.如果您的平均成绩为9.5或者,您将获得10的最终成绩 更高点。


  

定义
类别:目标
方法:需要
参数:   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;

}

如果你可以帮助我,那我真的很棒

感谢

1 个答案:

答案 0 :(得分:0)

我们可以执行以下步骤: 1.获得平均值和所需平均值之间的差值(9.5) LEts说计算的平均值是8。 差异将是9.5-8 = 1.5 因此,我们可以使用Math.ceil(差异)获取差异的上限(上限值)。这里它将是2.因此我们需要为数组添加两个赋值。