问题描述
由键盘输入学生的人数和每个学生的成绩,求出学生成绩的平均分。
import java.util.Scanner;
public class Test2_2_1 {
static double average(int n)
{
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生的成绩:");
double sum=0.0;
for (int i=0;i<n;i++)
{
double x=sc.nextDouble();
sum += x;
}
sc.close();
return sum/n;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生人数:");
int n = sc.nextInt();
System.out.println("平均成绩是:"+average(n));
sc.close();
}
}
优化后
import java.util.Scanner;
public class Test2_2_2 {
static double average(int[] a,int n)
{
double sum=0.0;
for (int i=0;i<n;i++)
{
sum += a[i];
}
return sum/n;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生人数:");
int n = sc.nextInt();
int[] a=new int[n];
System.out.println("请输入学生的成绩:");
for (int i=0;i<n;i++)
{
a[i]=sc.nextInt();
}
System.out.println("平均成绩是:"+average(a,n));
sc.close();
}
}