计算最高分,最低分和平均分,要求如下:
第一行输入的值为学生数,剩下的就是学生的成绩。
首先我们需要写一个Scanner来确定学生的人数,然后收参。
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int w1 = input.nextInt();
}
然后需要输入每个学生的成绩,总不能多声明几个属性来收取学生成绩吧?多声明几个也可以,但是不能体现出代码的灵活性和功能性,所以我们采用for循环来重复获取学生成绩。
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//确定学生数
int w1 = input.nextInt();
//创建数组获取学生成绩
int w2[] = new int[w1];
//循环获取学生成绩
for (int i = 0;i<w1;i++){
//获取学生成绩
w2[i] = input.nextInt();
}
}
利用for循环,把所有的成绩全部收集到int数组中,然后再用函数来排序,输出第一个,最后一个的成绩即可
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//确定学生数
int w1 = input.nextInt();
//创建数组获取学生成绩
int w2[] = new int[w1];
//循环获取学生成绩
for (int i = 0;i<w1;i++){
//获取学生成绩
w2[i] = input.nextInt();
}
Arrays.sort(w2);
//最大值
System.out.println(w2[w1-1]);
//最小值
System.out.println(w2[0]);
}
平均值需要在外部声明一个属性,然后在循环里面前一个加后一个除于学生数即可
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//确定学生数
int w1 = input.nextInt();
//创建数组获取学生成绩
int w2[] = new int[w1];
//所有成绩总和
int w3 = 0;
//循环获取学生成绩
for (int i = 0;i<w1;i++){
//获取学生成绩
w2[i] = input.nextInt();
//总数等于前一个加后一个
w3 +=w2[i];
}