要求建立两个类,一个类Student用来定义学生的私有属性(例如:姓名,学号,英语成绩,语文成绩,数学成绩等),和动作(例如:构造方法,设置单科的成绩,获取总分,获取单科成绩等);另一个类StudentDemo,在main方法中实现输入学生个数n,创建数组存储学生,并创建每个具体学生对象,输入学生的信息,然后再输出每个学生的总分、全班的每科平均分、全班的平均总分。
public class Student {
private String name;
private int acc;
private double Englishscore;
private double Chinesescore;
private double Mathscore;
private double Allscore;
public Student(String name,int acc) {
this.name = name;
this.acc = acc;
}
public double getAllscore() {
return Allscore;
}
//用static修饰的方法无法使用非static的变量,如Englishscore + Chinesescore + Mathscore
public void Allscore() {
Allscore = Englishscore + Chinesescore + Mathscore;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAcc() {
return acc;
}
public void setAcc(int acc) {
this.acc = acc;
}
public double getEnglishscore() {
return Englishscore;
}
public void setEnglishscore(double englishscore) {
Englishscore = englishscore;
}
public double getChinesescore() {
return Chinesescore;
}
public void setChinesescore(double chinesescore) {
Chinesescore = chinesescore;
}
public double getMathscore() {
return Mathscore;
}
public void setMathscore(double mathscore) {
Mathscore = mathscore;
}
}
import java.util.*;
public class StudentDemo {
public static void main(String[] args) {
System.out.println("请输入学生个数:");
Scanner input = new Scanner(System.in);
int count = input.nextInt();
Student[] student = new Student[count];
for(int i =1;i<=count;i++) {
System.out.println("请输入第 " + i +"个学生的名字:");
String name = input.next();
System.out.println("请输入第 " + i +"个学生的学号:");
int acc = input.nextInt();
student[i-1]=new Student(name,acc);
System.out.println("请输入第 " + i +"个学生的英语成绩:");
student[i-1].setEnglishscore(input.nextDouble());
System.out.println("请输入第 " + i +"个学生的语文成绩:");
student[i-1].setChinesescore(input.nextDouble());
System.out.println("请输入第 " + i +"个学生的数学成绩:");
student[i-1].setMathscore(input.nextDouble());
student[i-1].Allscore();
System.out.println("第"+i+"个学生的总分为:"+ student[i-1].getAllscore());
}
input.close();
double ChineseSum =0.0;
double EnglishSum =0.0;
double MathSum =0.0;
for(int i=0;i<count;i++) {
ChineseSum +=student[i].getChinesescore();
EnglishSum +=student[i].getEnglishscore();
MathSum +=student[i].getMathscore();
}
double CAverage = ChineseSum/count;
double EAverage = EnglishSum/count;
double MAverage = MathSum/count;
double average = (ChineseSum + EnglishSum + MathSum)/count;
System.out.println("********************");
System.out.println("全班平均分为:"+average);
System.out.println("全班英语平均分为:"+EAverage);
System.out.println("全班数学平均分为:"+MAverage);
System.out.println("全班语文平均分为:"+CAverage);
}
}
运行结果: