学校OJ第一次

本文介绍了一个简单的学生信息管理系统,包括学生基本信息的录入与成绩管理。通过Java实现,涉及类的定义、构造函数、方法等基本概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   古早博客,居然还被我私密了,现在发出来吧。

        这次老师总共留了三道OJ的题目来让我们做,总体围绕Student类进行,类似于一个学生信息管理库,OJ被关了,记得粘题目: 

    其实不得不说通过这次OJ作业,感觉对JAVA里类,异常,接口等的掌握更进一步了,现在权当做个总结了:

    关于编程,先给出个小建议:对于接口,编程时可以先给出声明,但不进行定义,有返回值时,先预先随意给出一个返回值就行,然后在main函数里进行代码编辑,接口可以直接使用。定义好main函数后,再对类里的每个接口进行编程,实现其功能。个人感觉这样来写代码,整体思路会比较清晰,写起代码来头脑会比较清晰。

第一题:Student和StudentTest

        这道题是三道题中最简单的,主要在于Student的实现,依照题目的要求,设置成员变量和方法(接口)。  

        直接给出代码如下(先来StudentTest):

public class StudentTest{
	
	public static void main(String[] args) {
		java.util.Scanner in = new java.util.Scanner(System.in);
		Student student = new Student(in.next() , in.next());
		student.enterMarks(in.nextInt(), in.nextInt(), in.nextInt());
		System.out.println(student);
		in.close();
	}
}

    代码应该没啥难懂的,Student类的构造函数需要String类型的两个参数,然后通过enterMarks函数实现各成绩的录入,Student类的代码如下:

class Student {
	private String studentNumber =" ";
	private String studentName = " ";
	private final static int nomark = 0x7fffffff;	//用0初始化成绩可能造成混淆,所以定义一个极大的数来表示成绩未输入
	private int markForMaths = nomark;
	private int markForEnglish = nomark;
	private int markForScience = nomark;
	
	public Student(String number, String name) {
		this.studentNumber = number;
		this.studentName = name;
	}
	
	public Student() {
	}

	public String getNumber() {
		return studentNumber;
	}
	
	public String getName() {
		return studentName;
	}
	
	public void enterMarks(int markForMaths, int markForEnglish, int markForScience) {
		this.markForMaths = markForMaths;
		this.markForEnglish = markForEnglish;
		this.markForScience = markForScience;
	}
	
	public int getMathsMark() {
		return markForMaths;
	}
	
	public int getEnglishMark() {
		return markForEnglish;
	}
	
	public int getScienceMark() {
		return markForScience;
	}
	
	double calculateAverage() {
		double ret= 0.0;
		ret = (markForMaths+markForEnglish+markForScience)/3.0;
		return ret;
	}

	@Override
	public String toString() {
		return String.format("Student Info:\r\n"
							 + "Number:%s\r\n"
							 + "Name:%s\r\n"
							 + "Math:%d\r\n"
							 + "English:%d\r\n"
							 + "Science:%d\r\n"
							 + "Ave:%.2f",
							 studentNumber,studentName,markForMaths,markForEnglish,markForScience,calculateAverage() );
	}
}

其实观察会发现,各接口的实现还是比较简单的,关键把思路理清就能很快的写完代码了,这样运行就能实现我们要的基本功能了,就是学生信息的录入和输出。这里指出一下public String toString()函数可以根据你要求的转化为字符串并返回,然后我们直接System.out.print()我们创建的对象就可以把我们在public String toString()函数中生成的字符串输出了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值