今天Java学习碰到这个案例
假设有5位学员参加了Java知识竞赛的决赛,输出决赛的平均成绩和最高成绩?
要求:
1.将5位学员的决赛成绩保存在数组中
2.设计求平均成绩、最高成绩的方法并把数组作为参数
我刚开始写的代码是有参(数组)的无放回值
import java.util.Scanner;
public class Demo13 {
public static void main(String[] args) {
// TODO Auto-generated method stub
double a1[]=new double[5];
javaGrade(a1);
}
//假设有5位学员参加了Java知识竞赛的决赛
//输出决赛的平均成绩和最高成绩?
//将5位学员的决赛成绩保存在数组中
//设计求平均成绩、最高成绩的方法并把数组作为参数
public static void javaGrade(double grade[]){
Scanner scanner=new Scanner(System.in);
// 输入1位同学的Java成绩
System.out.println("请输入第1位同学的Java成绩");
grade[0]=scanner.nextDouble();
// 最大的Java成绩
double maxGrade=grade[0];
//总成绩
double sumGrade=grade[0];
for(int i=1;i<grade.length;i++){
Scanner scanner2=new Scanner(System.in);
//输入5位同学的Java成绩
System.out.println("请输入第"+(i+1)+"位同学的Java成绩");
grade[i]=scanner2.nextDouble();
sumGrade+=grade[i];
if(grade[i]>maxGrade){
maxGrade=grade[i];
}
}
System.out.println("最高Java成绩"+maxGrade);
System.out.println("平均Java成绩"+sumGrade/grade.length);
}
输出结果也没有问题
后来觉得,是不是应该把数组给返回出来,然后就懵了,数组应该如何返回,后来查一下格式应该为(以静态修饰符为例):
一维数组 public static 数组类型[] 方法名称(参数列表){
return 参数列表中的数组名
}
二维数组 public static 数组类型[][] 方法名称(参数列表){
return 参数列表中的数组名
}
然后试一下,结果遍历出来,看一下是否return了
public static void main(String[] args) {
// TODO Auto-generated method stub
double a1[]=new double[5];
double a2[]=javaGrade(a1);
for(int i=0;i<a2.length;i++){
System.out.println(a2[i]);
}
}
//假设有5位学员参加了Java知识竞赛的决赛
//输出决赛的平均成绩和最高成绩?
//将5位学员的决赛成绩保存在数组中
//设计求平均成绩、最高成绩的方法并把数组作为参数
public static double[] javaGrade(double grade[]){
Scanner scanner=new Scanner(System.in);
// 输入1位同学的Java成绩
System.out.println("请输入第1位同学的Java成绩");
grade[0]=scanner.nextDouble();
// 最大的Java成绩
double maxGrade=grade[0];
//总成绩
double sumGrade=grade[0];
for(int i=1;i<grade.length;i++){
Scanner scanner2=new Scanner(System.in);
//输入5位同学的Java成绩
System.out.println("请输入第"+(i+1)+"位同学的Java成绩");
grade[i]=scanner2.nextDouble();
sumGrade+=grade[i];
if(grade[i]>maxGrade){
maxGrade=grade[i];
}
}
System.out.println("最高Java成绩"+maxGrade);
System.out.println("平均Java成绩"+sumGrade/grade.length);
return grade;
}
没有任何问题!!