我有一个数组,可以从输入中获取学生成绩。我必须创建一个方法来查找数组中数字的平均值。这是我到目前为止的代码......
public static double getAverage(int[] marks)
{
int sum = 0;
for(int i : marks) sum += i;
return ((double) sum)/marks.length;
}
我想获取数组'marks'中的内容并得到它们的平均值然后将其附加到我的文本区域
Scanner.next()
这是我必须找到平均值的方法,但我不知道如何使用此方法并让它在文本区域中打印
答案 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)
。
我认为您希望获得多个学生的成绩/分数,因此最好将代码放在for
或while
循环中,具体取决于您希望如何操作。但是,由于这将是可变长度,我建议在数组上使用List
来调整大小。
找到平均值很容易。只需使用foreach
循环来汇总所有数字,然后将其除以数组长度。