求java代码及运行截图
问题描述:
实现一个学生类,成员变量包括学生姓名、性别、年龄、成绩。学生类中有带参数的构造方法,对学生的姓名和性别,年龄进行初始化。要求从键盘输入学生的成绩,并计算成绩的总和、平均值;计算并输出他们的成绩的最高分以及最低分是多少。在主类中创建五个学生类的对象,并进行成绩的输入,然后去调用学生类中的方法计算成绩的总和、平均值,输出成绩的最高分以及最低分。
答
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Student {
private String name;
private String sex;
private Integer age;
private double score;
public Student(){
}
public void setScore(double score) {
this.score = score;
}
public double getScore() {
return score;
}
public Student(String name, String sex, Integer age) {
this.name = name;
this.sex = sex;
this.age = age;
}
public static void display(List<Student> list){
double sum=0;
double max=list.get(0).getScore(),min=list.get(0).getScore();
for(Student stu:list){
sum+=stu.getScore();
if(max<stu.getScore()){
max=stu.getScore();
}
if(min>stu.getScore()){
min=stu.getScore();
}
}
System.out.println("最高分为:"+max);
System.out.println("最低分为:"+min);
System.out.println("总分为:"+sum);
System.out.println("平均分分为:"+sum/list.size());
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
List<Student> list=new ArrayList<Student>();
for(int i=0;i<5;i++){
System.out.println("请分别输入第"+(i+1)+"个学生的姓名、性别、年龄、成绩:");
String name=sc.next();
String sex=sc.next();
int age=sc.nextInt();
double score=sc.nextDouble();
Student stu=new Student(name, sex, age);
stu.setScore(score);
list.add(stu);
}
display(list);
}
}
答
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Student {
private String name;
private String sex;
private int age;
private double score;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
public Student(String name, String sex, int age, double score) {
this.name = name;
this.sex = sex;
this.age = age;
this.score = score;
}
public static void show(List<Student> list){
double sum=0;
double max=list.get(0).getScore(),min=list.get(0).getScore();
for(Student stu:list){
sum+=stu.getScore();
if(max<stu.getScore()){
max=stu.getScore();
}
if(min>stu.getScore()){
min=stu.getScore();
}
}
System.out.println("最高分为:"+max);
System.out.println("最低分为:"+min);
System.out.println("总分为:"+sum);
System.out.println("平均分分为:"+sum/5);
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
List<Student> list=new ArrayList<Student>();
for(int i=0;i<3;i++){
System.out.println("请输入第"+(i+1)+"个学生的姓名:");
String name=sc.next();
System.out.println("请输入第"+(i+1)+"个学生的性别:");
String sex=sc.next();
System.out.println("请输入第"+(i+1)+"个学生的年龄:");
int age=sc.nextInt();
System.out.println("请输入第"+(i+1)+"个学生的成绩:");
double score=sc.nextDouble();
Student stu=new Student(name, sex, age, score);
list.add(stu);
}
show(list);
}
}
代码如上,万望采纳。
答
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632