面向对象程序设计基础(一)学生信息管理

题:
命名App1.java
要求:
(1)按照题目所给变量名称、类型和方法名称进行编程,禁止修改;
(2)本题中所有内容写在源文件App1.java中。
(3)编程环境可选,Eclipse和JDK均可。
1、学生类(Student)
成员变量
学生名称(StdName),每个学生有三分:test1,test2 和test3 类型 int
学生id (StdId) 和学生年龄 (StdAge) 类型 int
构造方法:
构造方法(1),通过形参初始化名称(StdName)
构造方法(2),除了StdId和StdAge通过形参初始化所有成员变量(调用构造方法(1))
普通方法:
设置getter和setter方法用于获取和设置类中StdId 和StdAge变量的值, StdId 和StdAge不能为负数;
设置getter方法用于获取和类中StdName变量的值;
setScore(),public void 有两个参数的方法:(i 是test变量指标,如果i等于1那么
score等于test1)
getAverage(), public int 无参数的方法:返回测试分数的平均值
Student compare(Student),用于比较两个对象的年龄。

2、通过main方法测试
(1)创建两个Student对象std1、std2,判断这两个对象那个年龄大。
(2)分别调用getStdName()和getAverage()输出两个对象。
第一个学生名是Bill , age= 20, id= 101,test1= 80,test2=90 和test3=100
第二个学生名是Mike ,age= 22, id= 102, test1= 80,test2=80 和test3=90
输出应该是:
在这里插入图片描述

代码:

package 大二;
class Student{
    
    
	public int id;
	private int score1,score2,score3;
	private String StdName;
	private int StdAge;
	private int StdId;
//	构造方法1
	public Student() {
    
    }
	public Student(String stdName) {
    
    
		StdName = stdName;
	}
//	构造方法2
	public Student(String name,int stdAge, int stdId) {
    
    
		this(name);		
		StdAge = stdAge;
		StdId = stdId;
	}
	//姓名
	public String getStdName() {
    
    	
		return StdName;
	}
//	年龄
	public int getStdAge() {
    
    
		return StdAge;
	}
	public void setStdAge(int stdAge) {
    
    
		if (stdAge<0) {
    
    
			throw new IllegalArgumentException("年龄不能为0");
		} else if(stdAge>200) {
    
    
			throw new IllegalArgumentException("年龄不能为200");
		}
		StdAge = stdAge;
	}
	//ID
	public int getStdId() {
    
    
		return StdId;
	}
	public void setStdId(int stdId) {
    
    
		StdId = stdId;
	}
	//获取成绩
	public void setScore(int i,int test)
	{
    
    
		if (i>3) {
    
    
			throw new IllegalArgumentException("请输入小于3的成绩");
		}
		if (i==1) {
    
    
			score1=test;
		}else if  (i==2){
    
    
			score2=test;
		}else {
    
    
			score3=test;
		}
	}
	//平均成绩
	public int getAverage() {
    
    
		return (score1+score2+score3)/3;
	}
	//比较年龄
	public Student compare(Student s) {
    
    
		if (this.getStdAge()>s.getStdAge()) return this;
		else return s;	
	}
	@Override
	public String toString() {
    
    
		return "Student [score1=" + score1 + ", score2=" + score2 + ", score3=" + score3 + ", StdName=" + StdName
				+ ", StdAge=" + StdAge + ", StdId=" + StdId + "]";
	}
}
public class App1 {
    
    
	public static void main(String[] args) {
    
    
	Student std1 = new Student("Bill",20,101);
	Student std2 = new Student("Mike",22,102);
	//学生1的成绩
	std1.setScore(1,90);
	std1.setScore(2,90);
	std1.setScore(3,90);

	//学生2的成绩
	std2.setScore(1, 80);
	std2.setScore(2, 80);
	std2.setScore(3, 90);
	System.out.println("Name:"+std1.getStdName()+"  ,Age:"+std1.getStdAge()+"  ,id:"+std1.getStdId()+" ,Average :"+std1.getAverage());
	System.out.println("Name:"+std2.getStdName()+"  ,Age:"+std2.getStdAge()+"  ,id:"+std2.getStdId()+"  ,Average :"+std2.getAverage());
	System.out.println(std1.compare(std2).getStdName()+" is older");
	}
}

运行结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45696377/article/details/110571230