JAVA 可获取得学生的姓名,学号与已修学分; ? 可设置学生的已修学分; ? 可根据学

1、 按下面的描述与要求定义一个Java类
拟开发一个学生信息管理程序,首先要建立一个学生对象模型,对于学生对象模型,需要抽象下面的属性和行为:
属性:
姓名(name)、学号(id)、专业(speciality)、已修学分(credit)等4项。
行为:
1) 可取得学生的姓名、学号、专业与已修学分;
2) 可修改学生的专业和已修学分;
3) 可根据学生已修学生情况判断学生的成绩等级,并输出学生的成绩等级,学分大于等于9分为优,小于6为不合格,大于等于6小于9为合格。
根据上述对学生对象的描述,定义一个Student类,包含上述的属性和行为,要求如下:
1) 定义一个包,包名为:exp3.entities,在此包中定义Student类;
2) 表示属性的成员变量名参照上述描述,但数据类型自定义,且都为私有的;
3) 定义一个构造方法,对学生的姓名、学号和专业三个属性进行初始化;
4) 成员方法都为公有的,方法名自定义。

2、 使用定义的类
定义一个包,包名为:exp3.demo,在此包中定义一个StudentDemo类,StudentDemo类包含main方法,具体要求如下:
1) 在main方法中创建3个学生类的对象,姓名、学号自定义,专业为“网络工程”或“信息对抗”;
2) 设置每个学生对象的已修学分,学分值自定义;
3) 输出每个学生的成绩等级。
3、 静态变量的使用
在Student类中新增加一个静态成员变量(creditForGraduation),表示每个学生毕业必须达到的基本学分,并定义对应的成员方法来设置或获取这个变量的值。
4、 this关键字的使用
在Student类中增加代码,体现this关键字的三种用法。

package exp3.entities;

public class Student {
private String name;
private int id;
private String speciality;
private double credit;

public Student(String name,int id,String speciality){
this.name = name ;
this.id = id ;
this.speciality = speciality;
}

public String getScore(){
if(credit >= 9){
return "优秀";
}else if(credit <= 6){
return "不合格";
}else{
return "合格";
}
}

public String getName() {  //获得姓名
return name;
}

public int getId() {       //获得学号
return id;
}

public String getSpeciality() {    //获得专业
return speciality;
}

public void setSpeciality(String speciality) {     //修改专业
this.speciality = speciality;
}

public double getCredit() {    //获得学分
return credit;
}

public void setCredit(double credit) {    //修改学分
this.credit = credit;
}
}

package exp3.demo;

import exp3.entities.Student;

public class StudentDemo {

public static void main(String[] args) {
Student s1 = new Student("n1", 1001, "网络工程"); //创建三个对象
Student s2 = new Student("n2", 1002, "网络工程");
Student s3 = new Student("n3", 1003, "信息对抗");
s1.setCredit(9);  //设置学分
s2.setCredit(7);
s3.setCredit(3);

System.out.println(s1.getName()+"的成绩是:"+s1.getScore());
System.out.println(s2.getName()+"的成绩是:"+s2.getScore());
System.out.println(s3.getName()+"的成绩是:"+s3.getScore());
}

}

基本的要求全部满足了,有适当的注释。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-09
学生类:

package com.vmaxtam;

public class Student {
private String name;//姓名
private Integer id;//学号
private String speciality;//专业
private double credit;//学分
private static double creditForGraduation;//必须达到的基本学分
private Student showThis;

public Student(String name, Integer id, String speciality) {
super();
this.name = name;
this.id = id;
this.speciality = speciality;
}

public Student(String name){
showThis = this;//第一种
this.name = name;//第二种
this.getId();//第三种
}

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getSpeciality() {
return speciality;
}
public void setSpeciality(String speciality) {
this.speciality = speciality;
}
public double getCredit() {
return credit;
}
public void setCredit(double credit) {
this.credit = credit;
}
public static double getCreditForGraduation() {
return creditForGraduation;
}

public static void setCreditForGraduation(double creditForGraduation) {
Student.creditForGraduation = creditForGraduation;
}

/*
* 获取成绩等级
*/
public String getScoreLevel(){
double credit = this.credit;
String level;
if(9 <= credit){
level = "优秀";
}else if(6 > credit){
level = "不及格";
}else{
level = "及格";
}
return level;
}

}

环境代码:
public static void main(String[] args) {

Student s1 = new Student("小明", 1, "网络工程");
Student s2 = new Student("小树", 2, "信息对抗");
Student s3 = new Student("小工", 3, "网络工程");
s1.setCredit(6);
s2.setCredit(8);
s3.setCredit(9);

System.out.println( s1.getName() + "的成绩等级是 " + s1.getScoreLevel() );
System.out.println( s2.getName() + "的成绩等级是 " + s2.getScoreLevel() );
System.out.println( s3.getName() + "的成绩等级是 " + s3.getScoreLevel() );
System.out.println(s1.getCreditForGraduation());
}