为数组创建方法

时间:2015-05-30 23:27:49

标签: java arrays list netbeans average

我有一个数组,可以从输入中获取学生成绩。我必须创建一个方法来查找数组中数字的平均值。这是我到目前为止的代码......

   public static double getAverage(int[] marks)
{
    int sum = 0;
    for(int i : marks) sum += i;
    return ((double) sum)/marks.length;
}

我想获取数组'marks'中的内容并得到它们的平均值然后将其附加到我的文本区域

Scanner.next()

这是我必须找到平均值的方法,但我不知道如何使用此方法并让它在文本区域中打印

2 个答案:

答案 0 :(得分:2)

如果要查找存储在数组中的平均值,请尝试以下函数。

public static double average(int[] marks)
{
int sum = 0;
double average;
for(int element: marks)
{
    sum = sum + element;
}
average = (double)sum / marks.length;
return average;
}

希望它有所帮助! :)

上面的方法用于查找数组中的平均值(基本类型),但要在List类型数组(包装类)中查找平均值,我们必须通过这种方式迭代列表中的每个元素并执行所需的计算:

public static String average(Integer[] marks)
{
int sum = 0;
double average;
for (int i = 0; i < marks.size(); i++) 
{
    sum = sum + marks.get(i);
}
average = (double) sum / marks.size();
String averageString = Double.toString(average);
return averageString;
}

这将直接返回字符串类型的平均值。

答案 1 :(得分:0)

您当前的代码存在一些问题。

两次使用input.getText();意味着它将提示输入两次。像int mark = Integer.parseInt(input.getText());这样的一行,然后在需要的地方使用mark变量。

为了测试数字是否在0到100之间(我假设这需要包括在内),那if语句需要(mark >= 0 && mark <= 100)

我认为您希望获得多个学生的成绩/分数,因此最好将代码放在forwhile循环中,具体取决于您希望如何操作。但是,由于这将是可变长度,我建议在数组上使用List来调整大小。

找到平均值很容易。只需使用foreach循环来汇总所有数字,然后将其除以数组长度。