题目:写一个学生信息(包括学号,姓名,年龄,年级,成绩)管理系统,要求将学生的成绩进行处理(90分以上的划为A等,90到80分的划为B 等,70到80分的划为C等,60到70分的划为D等,60分以下的划为E等),处理完后将每个学生的基本信息和他的等级一并输出出来,最后将 A,B,C,D,E五个等级的成绩个数输出出来。
步骤如下:
第一步:创建一个学生类,设置它的一些属性(学号,姓名,年龄,年级,成绩)和方法(设置器set和访问器get可以用系统添加)。
2.实例化一组学生对象(用一个数组来存储这一组学生对象),录入他们的信息(学号,姓名,年龄,年级,成绩)(这个通过构造函数创建或者set访问器设置)。
3.取出他们的成绩信息(用get访问器访问),然后进行处理,把成绩进行分类(A,B,C,D,E五类)。
下面附Java代码
//构建一个学生类
class Student
{
//定义一个学生类(属性:学号number,姓名name,年龄age,年级depth,成绩mark)
private int number;
private String name;
private int age;
private int depth;
private int mark;
//声明学生类的构造方法(就是学生类是如何组成的),将五个参数变量分别赋值给五个属性
public void setNumber(int a)
{
number = a;
}
//学生学号的访问器
public int getNumber()
{
return number;
}
//学生名字的设置器
public void setName(String b)
{
name = b;
}
//学生名字的访问器
public String getName()
{
return name;
}
//学生年龄的设置器
public void setAge(int c)
{
age = c;
}
//学生年龄的访问器
public int getAge()
{
return age;
}
//学生年级的设置器
public void setDepth(int d)
{
depth = d;
}
//学生年级的访问器
public int getDepth()
{
return depth;
}
//学生成绩的设置器
public void setMark(int e)
{
mark = e;
}
//学生成绩的访问器
public int getMark()
{
return mark;
}
}
public class StudentCourse
{
//学生成绩主类的主方法,程序就是从这里开始执行的
public static void main(String[] args)
{
//先定义一个学生类数组用于存储多个学生对象
Student [] student= new Student [10];
//将10个学生对象的基本信息(学号,姓名,年龄,年级,成绩)全部实例化出来,可供访问器get访问
Student student = new Student();
//添加student1
student.setName("hans");
student.setAge(23);
student.setScore(60);
student.setLable(1);
stuArr[0] = student;
Student student1 = new Student();
//添加student2
student1.setName("rose");
student1.setAge(24);
student1.setScore(90);
student1.setLable(2);
stuArr[1] = student1;
Student student2 = new Student();
//添加student3
student2.setName("good");
student2.setAge(25);
student2.setScore(80);
student2.setLable(3);
stuArr[2] = student2;
Student student3 = new Student();
//添加student4
student3.setName("killva");
student3.setAge(24);
student3.setScore(90);
student3.setLable(2);
stuArr[3] = student3;
Student student4 = new Student();
//添加student5
student4.setName("good1");
student4.setAge(25);
student4.setScore(80);
student4.setLable(3);
stuArr[4] = student4;
Student student5 = new Student();
//添加student6
student5.setName("hans1");
student5.setAge(23);
student5.setScore(60);
student5.setLable(1);
stuArr[5] = student5;
Student student6 = new Student();
//添加student7
student6.setName("rose2");
student6.setAge(24);
student6.setScore(90);
student6.setLable(2);
stuArr[6] = student6;
Student student7 = new Student();
//添加student8
student7.setName("good3");
student7.setAge(25);
student7.setScore(80);
student7.setLable(3);
stuArr[7] = student7;
Student student8 = new Student();
//添加student9
student8.setName("rose4");
student8.setAge(24);
student8.setScore(90);
student8.setLable(2);
stuArr[8] = student8;
Student student9 = new Student();
//添加student5
student9.setName("good5");
student9.setAge(25);
student9.setScore(80);
student9.setLable(3);
stuArr[9] = student9;
//定义五个整形变量,用于计数A,B,C,D,E五等成绩
int A=0;
int B=0;
int C=0;
int D=0;
int E=0;
//定义一个工作变量m,用于表示每个学生对象的成绩等级
char m;
//用一个增强型for循环将学生数组中的每一个学生对象遍历出来
for(Student p : student)
{
//用switch循环实现选择功能,取出学生的成绩,并划分等级
switch(p.getMark()/10)
{
case 9:{
m='A'; //用一个字符表示成绩等级
A++; //等级计数器
break;
}
case 8:{
m='B';
B++;
break;
}
case 7:{
m='C';
C++;
break;
}
case 6:{
m='D';
D++;
break;
}
//当前面所有情况都不满足时,就执行下面程序
default:{
m='E';
E++;
}
}
//每处理完一次学生对象成绩就将该学生对象的基本信息打出来
System.out.println("学号:"+p.getNumber()+" 姓名:"+p.getName()+" 年龄:"+p.getAge()+" 年级:"+p.getDepth()+" 成绩:"+p.getMark()+" 等级:"+m);
}
//最后记录五个等级的成绩个数
System.out.println("A等学生个数:"+A);
System.out.println("B等学生个数:"+B);
System.out.println("C等学生个数:"+C);
System.out.println("D等学生个数:"+D);
System.out.println("E等学生个数:"+E);
}
}