java学生类,java学生类 Helenzhaous 发布时间
大家好,java学生类相信很多的网友都不是很明白,包括java学生类 Helenzhaous 发布时间也是一样,不过没有关系,接下来就来为大家分享关于java学生类和java学生类 Helenzhaous 发布时间的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
java设计课程类
仅供参考
packagecom.kidd.test.zhidao;
importjava.util.ArrayList;
importjava.util.List;
/**
*Helloworld!
*
*/
publicclassExecute{
publicstaticvoidmain(String[]args){
Lessonlesson1,lesson2,lesson3;
lesson1=newLesson();
lesson1.setName("语文");
lesson1.setCredit(7);
lesson2=newLesson();
lesson2.setName("英语");
lesson2.setCredit(8);
lesson3=newLesson();
lesson3.setName("数学");
lesson3.setCredit(10);
Studentstudent=newStudent();
student.setName("陈云");
student.setNum("2017060901");
student.addLesson(lesson1);
student.addLesson(lesson2);
student.addLesson(lesson3);
lesson1.setScore(60);
try{
student.exam(lesson1);
}catch(ScoreExceptione){
System.out.println("输入的分数不合法.");
}
lesson2.setScore(70);
try{
student.exam(lesson2);
}catch(ScoreExceptione){
System.out.println("输入的分数不合法.");
}
lesson3.setScore(90);
try{
student.exam(lesson3);
}catch(ScoreExceptione){
System.out.println("输入的分数不合法.");
}
System.out.println(student);
student.removeLesson(lesson2);
System.out.println(student);
lesson3.setScore(50);
student.printLessons();
student.printCredit();
student.printAverage();
}
}
classLesson{
privateStringname;
privateintcredit;
privatefloatscore;
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetCredit(){
returncredit;
}
publicvoidsetCredit(intcredit){
this.credit=credit;
}
publicfloatgetScore(){
returnscore;
}
publicvoidsetScore(floatscore){
this.score=score;
}
}
classStudent{
privateStringname;
privateStringnum;
privateList<Lesson>lessons;
publicStudent(){
lessons=newArrayList<>();
}
publicvoidaddLesson(Lessonlesson){
intindex=lessons.indexOf(lesson);
if(index!=-1){
System.out.println("该学生已经学习了该课程.");
return;
}
lessons.add(lesson);
}
publicbooleanexam(Lessonlesson)throwsScoreException{
intindex=lessons.indexOf(lesson);
if(index==-1){
System.out.println("该学生并未学习此课程.");
returnfalse;
}
if(lesson.getScore()<=0||lesson.getScore()>=100){
thrownewScoreException();
}
lessons.get(index).setScore(lesson.getScore());
returntrue;
}
publicbooleanremoveLesson(Lessonlesson){
intindex=lessons.indexOf(lesson);
if(index==-1){
returnfalse;
}
lessons.remove(index);
returntrue;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetNum(){
returnnum;
}
publicvoidsetNum(Stringnum){
this.num=num;
}
publicList<Lesson>getLessons(){
returnlessons;
}
publicvoidsetLessons(List<Lesson>lessons){
this.lessons=lessons;
}
publicfloatgetAverage(){
floata=0f;
for(Lessonlesson:lessons){
a+=lesson.getScore();
}
returna/lessons.size();
}
publicintgetTotal(){
inta=0;
for(Lessonlesson:lessons){
if(lesson.getScore()>=60){
a+=lesson.getCredit();
}
}
returna;
}
@Override
publicStringtoString(){
StringBuildermessage=newStringBuilder();
message.append("该学生总共修了"+lessons.size()+"门课程.分别是:");
for(Lessonlesson:lessons){
message.append(lesson.getName()+",");
}
message.append("
");
message.append("该学生的平均成绩是:"+getAverage()+"
");
message.append("该学生的总学分是:"+getTotal()+"
");
returnmessage.toString();
}
publicvoidprintLessons(){
System.out.println("该学生总共修了"+lessons.size()+"门课程.分别是:");
for(inti=0,k=lessons.size();i<k;i++){
System.out.println(lessons.get(i).getName()+"成绩是:"+lessons.get(i).getScore());
}
System.out.println("");
}
publicvoidprintAverage(){
System.out.print("该学生平均成绩是:");
System.out.println(getAverage());
}
publicvoidprintCredit(){
System.out.print("该学生总学分是:");
System.out.println(getTotal());
}
}
classScoreExceptionextendsException{
/**
*
*/
privatestaticfinallongserialVersionUID=1L;
}
什么是Java类的访问权限
在解释访问权限控制之前,先看一个场景。
在学生信息管理系统中,有两个类,分别是学生类和课程类,课程类提供了课程表和课程安排两个方法,学生类可以调用课程类提供的课程表查看课程安排,但不能调用课程安排方法,该如何处理,此时就可以利用访问权限来进行控制。
在Java中,提供了四种访问权限控制:默认访问权限(包访问权限),public,private以及protected。
默认访问权限(default):即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访问。
private:对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
protect:介于public和 private之间的一种访问修饰符,一般称之为“保护的”。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。下表列出了四种访问权限的控制粒度:
例1:
Main.java:
packagecom.cxh.test1;
publicclassMain{
/**
*@paramargs*/
publicstaticvoidmain(String[]args)
{
//TODOAuto-generatedmethodstub
Peoplepeople=newPeople("Tom");
System.out.println(people.getName());
}
}People.java
packagecom.cxh.test1;
classPeople{//默认访问权限(包访问权限)
privateStringname=null;
publicPeople(Stringname)
{
this.name=name;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname)
{
this.name=name;
}
}从代码可以看出,修饰People类采用的是默认访问权限,而由于People类和Main类在同一个包中,因此People类对于Main类是可见的。
如何用java来编一个学生成绩管理系统的程序
同意上面的说法..
你需要一个IO包.实例化输入输出流.对文件进行输入输出的操作.
你先把这些类文件都写好.这些类文件都很简单.写一个实例,省去一些代码..
public class Person
{
public string studentName;
public string studentAge;
//省略其它成员变量
public void setStudentName(string strName)
{
this.studentName=strName;
}
public string getStudentName()
{
return this.studentName;
}
//其它成员函数类似
}
上面一个类的实例..其他类差不多,然后写一个类.实例化这些类,用文件IO输入输出流,对文件进行操作.这里代码你自己去写,不会网上多的是.
java学生类的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java学生类 Helenzhaous 发布时间、java学生类的信息别忘了在本站进行查找哦。