Java核心技术习题答案_第1页
Java核心技术习题答案_第2页
Java核心技术习题答案_第3页
Java核心技术习题答案_第4页
Java核心技术习题答案_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java核心技术

习题答案

马志强张然李雷孝编

清华大学出版社

目录

第一章Java语言概述.......................................................3

第二章Java语法基础......................................................4

第三章面向对象编程......................................................15

第四章数组..............................................................38

第五章高级类特性........................................................45

第六章GUI编程..........................................................51

第七章集合框架.........................................................62

第九章集合框架.........................................................77

第十章I0流.............................................................81

第十一章JDBC访问数据库.................................................84

第十二章线程............................................................85

第十三章网络编程........................................................90

第一章Java语言概述

一、选择题

1-5ABBBB

6-8AAB

二、填空题

1.MyClassMyClass.class

2.String数组(Stringf])一

3.javacA.javajavaA

三、程序设计题

1、搭建Java运行环境,并写一个Java程序打印输出“开始学习Java程序设

计!

1)首先安装JDK;

2)配置环境变量path,classpath可配可不配;

3)FirstJava.java

publicclassHelloWorld{

publicstaticvoidmain(String[]args){

System.out.println("开始学习Java程序设计!");

}

)

2、修改下面四个Java源文件中的错误,使其能够编译和运行。

Testi.java:TestAnotherl类不能再使用public修饰,一个源文件中只能有

一个类或者接口用public修饰;

Test2.java:源文件中public修饰的类的名字为Testing2,和源文件名字不

一致;

Test3.java:Test3类的main方法的形参类型为String[];

Test4.java:Test4类的main方法必须使用static关键字修饰。

第二章Java语法基础

一、选择题

1-5BCADB

6-9DCCC

二、填空题

1.abc,al,_abc,_la,abl23

#a,const,$abc,labc,if,$#lsa,$_a,_$ql

2.题目出现问题:代码修改为ch=(char)(ch+1);结果为,如果直接

System.out.println(ch+1);结果为98。

3.true(真)false(假)

4.4

5.22false2

6.01*20/100(double)m*20/100

三、编程题

1、由命令行输入一个成绩,使用switch结构求出成绩的等级。A:90-100;

B:80-89;C:70-79;D:60-69;E:0—59。

importjava.util.Scanner;

publicclassIfElseTest{

publicstaticvoidmain(String[]args){

Scannersc=newScanner(System.in);

intgrade=sc.nextlnt();

if(grade<0||grade>l00){

System.out.println(naaaa");

System.exit(O);

inttemp=(int)Math.floor(grade/10);

switch(temp){

case10:{

System.out.println(nAn);

break;

)

case9:{

System.out.println(HAH);

break;

}

case8:{

System.out.println(^^B'^);

break;

}

case7:{

System.out.println("C,);

break;

)

case6:{

System.out.println(nDn);

break;

}

default:{

System.out.println(nE");

break;

2、计算圆周率:Pl=4-4/3+4/5-4/7……;打印出第一个大于3.1415小于3.1416

的值。

publicclassPITest{

publicstaticvoidmain(String[]args){

doubleresult=0.0;

fbr(inti=l;;i++){

doublem=4.0/(2*i-l);

if((i%2)==0){

result-=m;

}else{

result+=m;

}

if(result>3.1415&&result<3.1416){

System.out.println(nresult:n+result);

break;

3、输入一个数据n,计算斐波那契数列(Fibonacci)的第n个值。斐波那契数

列:1、1、2、3、5、8、13、21、34、....

importjava.util.Scanner;

publicclassFibonacciTest{

publicstaticvoidmain(String[]args){

Scannersn=newScanner(System.in);

intnum=sn.nextlnt();

inti=l;

intnl=l,n2=l;

while(i<=num){

if(i==l||i==2){

n2=l;

}else{

inttemp=n2;

n2=nl+n2;

nl=temp;

)

i++;

System.out.println(n2);

)

System.out.println(“第"+num+”个值为:”+n2);

)

)

4、计算多项式1-1/3+1/5-1/7+1/9……的值。

1)要求出前50项和值。

2)要求出最后一项绝对值小于le-5的和值。

publicclassSumTest{

publicstaticvoidmain(Stringnargs){

doublesum=0.0;

fbr(inti=l;i<=50;i++){

if(i%2==0){

sum=sum-1.0/(2*i-1);

}else{

sum=sum+1.0/(2*i-l);

)

)

System.out.printin("前50项和值:"+sum);

doubleitem=0.0;

intj=l;

sum=0.0;

whi1e(item<0.00001){

item=1.0/(2*j-l);

if(j%2==0){

sum-item;

}else{

sum十二item;

}

j++;

)

System.out.println("最后一项绝对值小于le-5的和值:"+sum);

}

)

5、产生100个0-999之间的随机整数,然后判断这100个随机整数哪些是素

数,哪些不是?

publicclassPrimeTest{

publicstaticvoidmain(String[]args){

PrimeTestt=newPrimeTest();

for(inti=0;i<100;i++){

intnum=(int)(Math.random()*1000);

if(t.isPrime(num)){

System.out.println(num+”是素数!”);

}else{

System.out.println(num+”不是素数!'*);

)

System.out.printlnO;

publicbooleanisPrime(intnum){

for(inti=2;i<=num/2;i++){

if(num%i==0){

System.out.println(num+"第—个被"+i+"整除!");

returnfalse;

returntrue;

6、在屏幕上打印出n行的金字塔图案,如,若n=3,则图案如下:

*

***

importjava.util.Scanner;

publicclassPrintstar{

publicstaticvoidmain(String[]args){

Scannersn=newScanner(System.in);

introws=sn.nextlnt();

fbr(inti=l;iv=rows;i++){

fdr(intj=1;j<=rows-i;j++){

System.out.print(n°);

)

for(intk=1;k<=2*i-1;k++){

System.out.print("*°;

}

System.out.println();

7、歌德巴赫猜想,任何一个大于六的偶数可以拆分成两个质数的和,打印出所

有的可能。如输入10,结果为:10=5+5;10=3+7。

publicclassGede{

publicstaticvoidmain(String[]args){

intn=Integer.parselnt(args[0]);

if(n<=6IIn%2!=0){

System.out.println("错误的参数!");

return;

Gedeg=newGede();

//因为1不是素数,n-2是偶数,所以从3开始循环

for(inti=3;i<=n/2;i++){

if(i%2==0){

continue;

}

if(g.isPrime(i)&&g.isPrime(n-i)){

System.out.println(i+n+"+(n-i)+n="+n);

*判断num是否是素数

*/

publicbooleanisPrime(intnum){

for(inti=2;i<=num/2;i++){

if(num%i=0){

returnfalse;

)

)

returntrue;

)

)

四、实训题

万年历的设计与实现。

本程序包含两个类CalenderModelA和TestCalenderModelAo

CalenderModelA实现了赛事日期设置等主要功能,程序文件

CalenderModelA.java。

publicclassCalenderModelA

//计算从公元始的天数

publicintgetNumberOfDay(intyear,intmonth,intday)

(

inttotal=0;

intlimit=getTotalDaysOfMonth(year,month);

if(day<=limit)

(

for(inty=1;y<year;y++)

(

total+=(this.isLeapYear(year)?366:365);

}

for(intm=1;m<month;m++)

(

total+=(this.getTotalDaysOfMonth(year,month));

}

total+=day;

returntotal;

}

else

{

System.out.println("您输入的日期非法");

return-1;

}

)

〃打印万年历

publicvoidshow(intyear,intmonth)

inttotal=0;

//计算从公元始到今年之前的总天数

for(inty=1;y<year;y++)

(

total+=(this.isLeapYear(y)?366:365);

)

〃计算今年到本月前的总天数

for(intm=1;m<month;m++)

(

total+=(this.getTotalDaysOfMonth(year,m));

)

〃计算本月I日是星期几

total二total%7;

intdl=(total+1)%7;

intd2=this.getTotalDaysOfMonth(year,month);

System.out.println(n\t\t\t"+year+“年”+month+“月”);

System.out.println(u--------------------------------------------------0);

String[]s=「日—一「二一三一四丁'五7六'};

for(inti=0;i<7;i++){

System.out.print(s[i]+n\t");

)

System.out.printlnO;

for(inti=0;i<dl;i++){

System.out.print(n\tH);

)

〃打印本月日历

for(inti=dl,j=l;i<dl+d2;i++,j++){

System.out.print(j+

if((i+l)%7==0){

System.out.println();

}

)

System.out.println();

}

〃判断是否为闰年

publicbooleanisLeapYear(intyear)

(

return((year%4==0)&&(year%100!=0))||(year%400==0);

}

//计算某年某月天数

publicintgetTotalDaysOfMonth(intyear,intmonth)

(

inttotal=0;

switch(month){

case1:

case3:

case5:

case7:

case8:

case10:

case12:

total=31;

break;

case2:

total=this.isLeapYear(year)?29:28;

break;

case4:

case6:

case9:

case11:

total=30;

break;

)

returntotal;

}

)

TestCalenderModelA实现main方法,具有输入大赛起始和终止日期,输出

日历,并计算大赛周期的功能。程序文件TestCalenderModelA.java。

importjava.util.Scanner;

publicclassTestCalenderModelA

{

publicstaticvoidmain(String[]args)

(

Scannerscan=newScanner(System.in);

System.out.print(”请输入年份:“);

intyear=scan.nextlntQ;

System.out.print(”请输入月份:");

intmonth=scan.nextlnt();

System.out.println("月历如下”);

CalenderModelAtestBegin=newCalenderModelA();

testBegin.show(year,month);

第三章面向对象编程

一、选择题

1-5CABDD

2-10DCCBC

11-12CC

二、填空题

1.Packagemypackage;

2.final

3.0bject

4.packageimportclass

5.c

三、程序设计题

2、按下列要求编写程序:

①创建Teacher类

要求:Teacher类要描述姓名、年龄、薪水,类型分别为String,int.

double

②创建TeacherTest类

要求:在TeacherTest类中创建Teacher的对象;为该对象的属性(姓

名、性别、年龄)赋值;将该对象的属性(姓名、性别、年龄)输出;

③为Teacher类添加一个方法,用于在教师原有薪水的基础上增加5000;

④修改TeacherTest类,增加对教师增加薪水方法的调用,并将增加后的薪

水值输出。

Teacher.java:

publicclassTeacher{

publicStringname;

publicintage;

publicdoublesalary;

publicStringgetName(){

returnname;

publicvoidsetName(Stringname){

=name;

)

publicintgetAge(){

returnage;

)

publicvoidsetAge(intage){

this.age=age;

)

publicdoublegetSalaryO{

returnsalary;

)

publicvoidsetSalary(doublesalary){

this.salary=salary;

}

publicTeacher(){

)

publicTeacher(Stringname,intage,doublesalary){

=name;

this.age=age;

this.salary=salary;

}

publicvoidaddSalary(){

this.salary=this.salary+5000;

)

)

TeacherTest.java:

publicclassTeacherTest{

publicstaticvoidmain(String[]args){

Teacherteacher=newTeacher();

teacher.age=35;

teacher,name二"zhangsan";

teacher,salary=1234.5;

System.out.println(teacher.age);

System.out.println();

System.out.println(teacher.salary);

teacher.addSalary();

System.out.println(teacher.salary);

)

)

3、定义一个Person类。

①包含以下属性:Stringname;intage;booleangender;Personpartnero

②定义marry(Personp)方法,代表当前对象和p结婚,如若可以结婚,则

输出恭贺信息,否则输出不能结婚原因。下列情况不能结婚:结婚年龄,男

<24,女<22;3,某一方已婚。

③定义测试类,来测试以上程序。

publicclassPerson{

privateStringname;

privateintage;

privatebooleangender;

Personpartner;

publicPerson(Stringname,intage,booleangender,Personpartner)(

=name;

this.age=age;

this.gender=gender;

this.partner=partner;

}

publicvoidmarry(Personp){

if(this.gender==p.gender){

System,out.printin("同性不能结婚!)

return;

if((this.gender==true&&this.age<24)||(this.gender==false&&

this.age<22)

||(p.gender==true&&p.age<24)||(p.gender==false&&

p.age<22)){

System.out.println("没有达到结婚年龄!");

return;

)

if(this.partner!=null||p.partner!=null){

System.out.println("有一方已经结婚!”);

return;

)

System.out.println(+"J++”,“+"祝你们新婚愉快!”);

this.partner=p;

p.partner=this;

)

publicstaticvoidmain(String[]args){

Personpl=newPerson(“关之琳”,23,false,null);

Personp2=newPerson(“文U德华”,26,true,null);

Personp3=newPerson("孙楠”,70,true,null);

pl.marry(p2);

pl.marry(p3);

)

)

4、定义一个Animal类,该类有两个私有属性,name(代表动物的名字)和

legs(代表动物的腿的条数)。

①两个构造方法,一个无参,默认给name赋值为AAA,给legs赋值为4;

另一个需要两个参数,分别用这两个参数给私有属性赋值。

②两个重载的move。方法,其中一个无参,在屏幕上输出一行文字:XXX

Moving!!(XXX为该动物的名字);另一个需要一个int参数n,在屏幕上输出n次

XXXMoving!!

publicclassAnimal1{

privateStringname;

privateintlegs;

publicAnimal1(){

="AAA”;

this.legs=4;

)

publicAnimal1(Stringname,intlegs){

super();

=name;

this.legs=legs;

}

publicStringgetName(){

returnname;

)

publicvoidsetName(Stringname){

=name;

)

publicintgetLegs(){

returnlegs;

)

publicvoidsetLegs(intlegs){

this.legs=legs;

)

publicvoidmove(){

System.out.println(nAnimalmoving!0);

}

publicvoidmove(intn){

inti=l;

while(i<=n){

System.out.println(nAnimalmoving!0);

i++;

5、定义一个Fish类,继承自Animal类。

①提供一个构造方法,该构造方法需要一个参数name,并给legs赋

默认值0;

②覆盖Animal类中的无参move()方法,要求!5出:XXX

Swimming!!

publicclassFishextendsAnimal{

privateStringname;

privateintlegs;

publicFish(Stringname){

=name;

this.legs=0;

}

publicvoidmove(){

System.out.println(nFishisswimming!");

)

)

publicclassBirdextendsAnimal{

privateStringname;

privateintlegs;

publicBird(Stringname){

=name;

this.legs=2;

}

publicvoidmove(){

System.out.println(nBirdisflying!");

6、写一个类Zoo,要求分别生成若干个Animal、Fish和Bird。并调用他们的属

性和方法。

publicclassZoo{

publicstaticvoidmain(String[]args){

Animala=newAnimal(ndog,,,4);

a.move();

a.move(3);

Fishf=newFish("smallfish");

f.move();

Birdb=newBird(nxiquen);

b.move();

Animalaf=newFish(nsmallfish");

af.move();

)

}

7、某公司的雇员分为以下若干类:

①Employee:这是所有员工总的父类,属性:员工的姓名,员工的生日月

份。方法:getSalary(intmonth)根据参数月份来确定工资,如果该月员工过生

日,则公司会额外奖励100元。

②SalariedEmployee:Employee的子类,拿固定工资的员工。属性:月薪;

③HourlyEmployee:Employee的子类,按小时拿工资的员工,每月工作超

出160小时的部分按照1.5倍工资发放。属性:每小时的工资、每月工作的小

时数;

④SalesEmployee:Employee的子类,销售人员,工资由月销售额和提成率

决定。属性:月销售额、提成率。

⑤BasedPlusSalesEmployee:SalesEmployee的子类,有固定底薪的销售人

员,工资由底薪加上销售提成部分。属性:底薪。

写一个程序,把若干各种类型的员工放在一个Employee数组里,写一个函数,

打印出某月每个员工的工资数额。注意:要求把每个类都做成完全封装,不允

许非私有化属性。

classEmployee(

privateStringname;

privateintmonth;

publicEmployee(Stringname,intmonth){

=name;

this.month=month;

)

publicStringgetName(){

returnname;

)

publicdoublegetSalary(intmonth){

if(this.month==month){

return100.0;

)

return0.0;

}

)

classSalariedEmployeeextendsEmployee{

privatedoublemonthSalary;

publicSalariedEmployee(Stringname,intmonth,doublemonthSalary){

super(name,month);

this.monthSalary=monthSalary;

}

publicdoublegetSalary(intmonth){

returnmonthSalary+super.getSalary(month);

)

)

classHourlyEmployeeextendsEmployee{

privateinthours;

privatedoublehourSalary;

publicHourlyEmployee(Stringname,intmonth,inthours,doublehourSalary){

super(name,month);

this.hours=hours;

this.hourSalary=hourSalary;

publicdoublegetSalary(intmonth){

doubleresult;

if(hours<=160){

result=hours*hourSalary;

}else{

result=160*hourSalary+(hours-160)*1.5*hourSalary;

)

returnresult+super.getSalary(month);

)

)

classSalesEmployeeextendsEmployee(

privatedoublesalesCount;

privatedoublerate;

publicSalesEmployee(Stringnamejntmonth,doublesalesCount,doublerate){

super(name,month);

this.salesCount=salesCount;

this.rate=rate;

)

publicdoublegetSalary(intmonth){

returnsalesCount*rate+super.getSalary(month);

)

)

classBasedPlusSalesEmployeeextendsSalesEmployee{

privatedoublebasedPlus;

publicBasedPlusSalesEmployee(Stringname,intmonth,double

salesCount,doublerate,doublebasedPlus){

super(name,month,salesCount,rate);

this.basedPlus=basedPlus;

publicdoublegetSalary(intmonth){

returnbasedPlus+super.getSalary(month);

}

)

publicclassEmployeeTest{

publicstaticvoidmain(String[]args){

Employee口e=newEmployee[4];

e[0]=newSalariedEmployee("zhangsann,9,3222.90);

e[l]=newHourlyEmployee("lisin,5,230,23.90);

e[2]=newSalesEmployee(nwangwuH,11,2330000.0,0.005);

e[3]=new

BasedPlusSalesEmployee(nzhaoliu",2,2000000.0,0.0001,3200.0);

for(inti=O;i<e.length;i++){

System.out.println(e[i].getName()+n"+n9月份的工资总额

为:"+e[i].getSalary(9));

)

)

)

四'实训题

班级成绩管理系统实体类设计。

publicclassTest{

publicstaticvoidmain(String[]args){

Studentstu=newStudent(”20101007001”,”姚明)

stu.setXueyuan("信息工程学院”);

stu.setZhuanye("软件工程”);

stu.setBanji("软件10-1”);

Gradestugrade二newGrade();

stugrade.setKcm(HWeb程序设计)

stugrade.setXq(”2011・2012(下)”);

stugrade.setCj(90.5f);

stu.getGrades().addGrade(stugrade);

stugrade=newGrade。;//加这一句的区别

stugrade.setKcm("计算机网络)

stugrade.setXq("201l-2012(_k)n);

stugrade.setCj(86.5f);

stu.getGrades().addGrade(stugrade);

stugrade=newGrade。;〃加这一句的区别

stugrade.setKcm("计算机组成原理”);

stugrade.setXq("201l-2012(±.)n);

stugrade.setCj(66.5f);

stu.getGrades().addGrade(stugrade);

stugrade=newGrade。;//加这一句的区别

stugrade.setKcm("数据结构)

stugrade.setXq(n2010-2011(上)”);

stugrade.setCj(76.50;

stu.getGrades().addGrade(stugrade);

stugrade=newGrade。;〃加这一句的区别

stugrade.setKcm("数据库原理”);

stugrade.setXq(n2010-2011(下)”);

stugradesetCj(76.5f);

stu.getGrades().addGrade(stugrade);

stugrade=newGrade。;//加这一句的区别

stugrade.setKcm("高等数学(1)");

stugrade.setXq(K2009-2010(±)n);

stugrade.setCj(88.5f);

stu.getGrades().addGrade(stugrade);

stugrade=newGrade();〃加这一句的区别

stugrade.setKcm("高等数学(2)”);

stugrade.setXq(n2009-2010(T)H);

stugrade.setCj(68.5f);

stu.getGrades().addGrade(stugrade);

stugrade=newGrade。;//加这一句的区别

stugrade.setKcm("软件工程专业外语)

stugrade.setXq("2011-2012(下)”);

stugrade.setCj(88.Of);

stu.getGrades().addGrade(stugrade);

puteZc(n2011-2012(下)”);

stu.getGrades().sortByxq();

System.out.println(stu);

)

)

publicclassStudent{

publicstaticlongid=201010070011;

privateStringsid;

privateStringsname;

privateStringxueyuan;//先使用具体的字符串,然后转化成编码xyid

privateStringzhuanye;

privateStringbanji;

//

privateGradeArraygrades;

privateZcGradezcGrade;

privatevoidautold(){

id++;

}

publicStudent(){

sid二newLong(id).toString();

autold();

grades=newGradeArrayO;

)

publicStudent(Stringsid){

this(sid,null);

)

publicStudent(Stringsid,Stringsname){

this(sid,sname,null);

}

publicStudent(Stringsid,Stringsname,Stringxueyuan){

this.sid=sid;

this.sname=sname;

this.xueyuan=xueyuan;

grades=newGradeArrayO;

)

publicStringgetSidQ{

returnsid;

)

publicvoidsetSid(Stringsid){

this.sid=sid;

)

publicStringgetSname(){

returnsname;

publicvoidsetSname(Stringsname){

this.sname=sname;

)

publicStringgetXueyuan(){

returnxueyuan;

)

publicvoidsetXueyuan(Stringxueyuan){

this.xueyuan=xueyuan;

)

publicStringgetZhuanye(){

returnzhuanye;

)

publicvoidsetZhuanye(Stringzhuanye){

this.zhuanye=zhuanye;

}

publicStringgetBanji(){

returnbanji;

)

publicvoidsetBanji(Stringbanji){

this.banji=banji;

)

publicGradeArraygetGrades(){

returngrades;

)

publicvoidsetGrades(GradeArraygrades){

this.grades=grades;

}

publicZcGradegetZcGrade(){

returnzcGrade;

publicvoidsetZcGrade(ZcGradezcGrade){

this.zcGrade=zcGrade;

)

publicvoidcomputeZc(Stringxqid){

zcGrade=newZcGrade(xqid);

floatsum=0;

for(inti=O;i<grades.getCurrent();i++){

if(xqid.equals(grades.getGrade()[i].getXq())){

sum+=grades.getGrade()[i].getCj();

zcGrade.setZcresult(sum);

©Override

publicbooleanequals(Objectobj){

//TODOAuto-generatedmethodstub

booleanresult=false;

if(obj!=null){

if(objinstanceofStudent){

Studenttemp=(Student)obj;

if(sid.equals(temp.sid)){

result=true;

returnresult;

@Override

publicStringtoStringO{

//TODOAuto-generatedmethodstub

Stringresult="{"+sid+”\r”;

/*for(KsGradetemp:grades.getGrade()){

result+=”「;

result+=temp;

result+="],”;

}*/

for(inti=O;i<grades.getCurrent();i++){

result+=”[”;

result+=grades.getGrade()fi];

result+="广;

result+="\r”;

)

//result=resultsubstring©result.length()-l);〃去掉最后一个逗号

result+=zcGrade;

result+="}“;

returnresult;

)

)

publicclassGrade{

privateStringkcm;

privateStringxq;

privatefloatcj;

publicGrade(){

super();

)

publicGrade(Stringkcm){

this(kcm,null);

publicGrade(Stringkcm,Stringxq){

this(kcm,xq,O.Of);

publicGrade(Stringkcm,Stringxq,floatcj){

this.kcm=kcm;

this.xq=xq;

this.cj=cj;

)

publicfloatgetCj(){

returncj;

)

publicvoidsetCj(floatcj){

this.cj=cj;

)

publicStringgetKcm(){

returnkcm;

)

publicvoidsetKcm(Stringkcm){

this.kcm=kcm;

)

publicStringgetXq(){

returnxq;

)

publicvoidsetXq(Stringxq){

this.xq=xq;

(©Override

publicStringtoStringO{

//TODOAuto-generatedmethodstub

returnkcm+”:“+xq+”:”+cj;

)

@Override

publicbooleanequals(Objectobj){

//TODOAuto-generatedmethodstub

booleanresult=false;

if(obj!=null){

if(objinstanceofGrade){

Gradetemp=(Grade)obj;

if(kcm.equals(temp.kcm)){

result=true;

returnresult;

)

)

publicclassGradeArray{

publicfinalstaticintKECHMENSHU=50;

privateGrade[]grades=newGradefKECHMENSHU];

privateintcurrent=0;

publicGradeArrayO{

super();

publicintgetCurrent(){

returncurrent;

publicvoidsetCurrent(intcurrent){

this.current=current;

)

publicvoidaddGrade(Gradeg){

〃存在问题:课程重复

if(current<KECHMENSHU){

if(!contain(g)){

grades[current++]=g;

publicGradef]getGrade(){

returngrades;

)

publicvoidsetGrade(Grade[]grade){

this.grades=grade;

)

privatebooleancontain(Gradeg){

booleanresult=false;

for(inti=O;i<current;i++){

if(grades[i].equals(g)){

result=true;

break;

}

)

returnresult;

//增加成绩的删除、修改

//按照学期排序课程

publicvoidsortByxq(){

〃冒泡排序

for(inti=current-l;i>0;i—){

for(intj=O;j<i;j++){

if(grades[j].getXq().compareToIgnoreCase(grades[j+l].getXq())>0){

Gradetemp=grades[j+l];

grades[j+l]=grades[j];

grades[j]=temp;

importjava.util.Stack;

publicclassGradeListStack{

/**

*@paramargs

*/

privateStack<Grade>gradelist;

GradeListStack(){

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论