一、题目
二、算法思想
主程序的代码比较简单,就不介绍了。
对于getAvg
方法需要注意的是在Main
类中定义时需要使用static
关键字,否则在主函数中没有办法识别getAvg
方法。
传入的int... scores
相当于把输入的多个int
类型数据转换成一个数组scores
的元素。
然后遍历这个数组scores
先求解总和,最后再返回对应的平均数即可。
由于题目所要求的方法是int
类型的,所以sum
就需要定义成int
类型,以便进行int
类型数据的return
。
public static int getAvg(String name,int... scores){//求取平均分
int sum = 0;//总和
for(int i : scores){//遍历数组scores
sum += i;
}
return sum/scores.length;//返回平均数
}
三、代码
import java.util.Scanner;
public class Main{
public static void main(String args[]){
Scanner scanner = new Scanner(System.in);
String name1,name2;
int score1,score2,score3,score4;
int score_1,score_2,score_3,score_4;
//同学1
name1 = scanner.next();
score1 = scanner.nextInt();
score2 = scanner.nextInt();
score3 = scanner.nextInt();
//同学2
name2 = scanner.next();
score_1 = scanner.nextInt();
score_2 = scanner.nextInt();
score_3 = scanner.nextInt();
score_4 = scanner.nextInt();
//输出
System.out.println(name1 + ":" + getAvg(name1,score1,score2,score3));
System.out.println(name2 + ":" + getAvg(name2,score_1,score_2,score_3,score_4));
}
public static int getAvg(String name,int... scores){//求取平均分
int sum = 0;//总和
for(int i : scores){//遍历数组scores
sum += i;
}
return sum/scores.length;//返回平均数
}
}