java程序设计基于JDK6和NetBeans实现宋波主编课后作业答案打印版Word格式文档下载.docx
《java程序设计基于JDK6和NetBeans实现宋波主编课后作业答案打印版Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《java程序设计基于JDK6和NetBeans实现宋波主编课后作业答案打印版Word格式文档下载.docx(30页珍藏版)》请在冰豆网上搜索。
06if(a>
b){
07max=a;
08}
09else{
10max=b;
11}
12}
13}
【运行结果】5
第2章Java语言基础
1.请完成下面程序,使得程序的输出结果如右图所示。
01.
*
**
***
****
*****
******
*******
********
*********
**********
publicclassLoopControl{
02.publicstaticvoidmain(String[]args){
03.outer:
for(inti=0;
i<
10;
i++){
04.for(intj=0;
j<
j++){
05.if(j>
i){
06.;
07.continueouter;
08.}
09.}
10.}
11.}
12.}
2.编写程序,输出英文字母A~Z及其对应的Unicode编码值。
01.publicclassCharUnicodeTest{
03.for(charc='
A'
;
c<
='
Z'
c++){
04.}
05.}
06.}
3.编写程序,计算1!
+2!
+3!
+…+20!
的和。
01.publicclassNestedLoopTest{
03.longsum=0;
04.longfac;
05.for(inti=1;
i<
21;
i++){
06.fac=1;
07.for(intj=1;
j<
=i;
j++){
08.fac=fac*j;
10.sum=sum+fac;
11.}
12.}
13.}
4.编写程序,随机产生一个(50,100)之间的整数并判断其是否为素数。
01.publicclassRandomPrimeTest{
03.inti=(int)(Math.random()*49+51);
04.intj;
05.for(j=2;
i;
06.if(i%j==0)break;
07.}
08.if(j==i)
09.else
10.}
11.}
5.编写程序,输出从1到9的乘法口诀表。
01.publicclassMultiTableTest{
03.for(inti=1;
=9;
04.for(intj=1;
05.}
06.}
07.}
08.}
第4章Java面向对象高级特性
1.指出下面程序中出现编译错误的行数及其原因。
01.publicclassOuter{
02.privateclassInner{
03.staticStringname=newString("
Inner"
04.publicvoidmethod(){
06.}
07.publicstaticvoidmain(String[]args){
08.Innera=newOuter().newInner();
09.a.method();
上述代码中第3行会出现编译错误,内部类Inner中的成员变量不能定义为static。
2.请完成下面程序,使得程序可以输出枚举常量值:
RED、GREEN和BLUE。
01.publicclassBall{
02.publicenumT{
03.RED,GREEN,BLUE
04.}
05.publicstaticvoidmain(String[]args){
06.for(inti=0;
t.length;
i++){
07.}
08.}
09.}
3.请完成下面程序,使得程序可以输出"
hi"
。
01.publicclassCar{
02.privateclassEngine{
03.Engine(){
04.drive();
08.newCar().go();
09.}
10.voidgo(){
11.newEngine();
13.voiddrive(){
14.}
15.}
4.应用抽象类及继承编写程序,输出本科生及研究生的成绩等级。
要求:
首先设计抽象类Student,它包含学生的一些基本信息:
姓名、学生类型、三门课程的成绩和成绩等级等。
其次设计Student类的两个子类:
本科生类Undergraduate和研究生类Postgraduate,二者在计算成绩等级时有所区别,具体计算标准如表所示。
最后创建测试类进行测试。
学生成绩等级
本科生标准
研究生标准
平均分85-100:
优秀
平均分90-100:
平均分75-85:
良好
平均分80-90:
平均分65-75:
中等
平均分70-80:
平均分60-65:
及格
平均分60-70:
平均分60以下:
不及格
//抽象类Student
01.abstractclassStudent{
02.finalstaticintCOURSE_COUNT=3;
03.privateStringname;
04.privateStringtype;
05.privateint[]scores;
06.privateStringgrade;
07.publicStudent(Stringname){
08.this.name=name;
10.publicvoidsetName(Stringname){
11.this.name=name;
13.publicStringgetName(){
14.returnname;
15.}
16.publicvoidsetType(Stringtype){
17.this.type=type;
18.}
19.publicStringgetType(){
20.returntype;
21.}
22.publicvoidsetScores(int[]scores){
23.this.scores=scores;
24.}
25.publicint[]getScores(){
26.returnscores;
27.}
28.publicvoidsetGrade(Stringgrade){
29.this.grade=grade;
30.}
31.publicStringgetGrade(){
32.returngrade;
33.}
34.publicabstractStringcalculateGrade();
35.}
//本科生类
01.publicclassUndergraduateextendsStudent{
02.publicUndergraduate(Stringname,int[]scores){
03.super(name);
04.this.setType("
本科生"
05.this.setScores(scores);
07.publicStringcalculateGrade(){
08.intaverage;
09.intsum=0;
10.int[]scores;
11.scores=this.getScores();
12.for(inti=0;
Student.COURSE_COUNT;
13.sum+=scores[i];
14.}
15.average=sum/Student.COURSE_COUNT;
16.if(average>
=85)
17.return"
优秀"
18.elseif(average>
=75)
19.return"
良好"
20.elseif(average>
=65)
21.return"
中等"
22.elseif(average>
=60)
23.return"
及格"
24.else
25.return"
不及格"
26.}
27.}
//研究生类
01.publicclassPostgraduateextendsStudent{
02.publicPostgraduate(Stringname,int[]scores){
研究生"
=90)
=80)
=70)
//测试类
01.publicclassStudentTest{
02.publicstaticvoidmain(String[]args){
03.Student[]s=newStudent[10];
04.int[][]scores=newint[10][Student.COURSE_COUNT];
05.for(inti=0;
5;
06.for(intj=0;
07.scores[i][j]=(int)(Math.random()*61+40);
08.}
09.s[i]=newUndergraduate("
+(i+1),scores[i]);
10.s[i].setGrade(s[i].calculateGrade());
12.for(inti=5;
10;
13.for(intj=0;
14.scores[i][j]=(int)(Math.random()*61+40);
15.}
16.s[i]=newPostgraduate("
+(i-4),scores[i]);
17.s[i].setGrade(s[i].calculateGrade());
18.}
19.int[]c;
20.for(inti=0;
21.c=s[i].getScores();
22.for(intj=0;
23.}
25.}
26.}
运行结果:
本科生1本科生939068良好
本科生2本科生768958中等
本科生3本科生796690良好
本科生4本科生958598优秀
本科生5本科生547853及格
研究生1研究生836186中等
研究生2研究生915785中等
研究生3研究生709655中等
研究生4研究生437562及格
研究生5研究生438061及格
5.应用枚举类编写程序,根据第4题的要求输出本科生及研究生的成绩等级。
将学生成绩等级定义成枚举类,其它功能不变,完成类的定义并进行测试。
//抽象类
02.//枚举类定义
03.staticenumGrade{
04.DISTINCTION("
),
05.MERIT("
06.AVERAGE("
07.PASS("
08.FAIL("
09.privateStringscoreGrade;
10.Grade(StringscoreGrade){
11.this.scoreGrade=scoreGrade;
12.}
13.publicStringgetScoreGrade(){
14.returnscoreGrade;
15.}
16.}
17.finalstaticintCOURSE_COUNT=3;
18.privateStringname;
19.privateStringtype;
20.privateint[]scores;
21.privateGradesgrade;
22.publicStudent(Stringname){
23.this.name=name;
25.publicvoidsetName(Stringname){
26.this.name=name;
28.publicStringgetName(){
29.returnname;
31.publicvoidsetType(Stringtype){
32.this.type=type;
34.publicStringgetType(){
35.returntype;
36.}
37.publicvoidsetScores(int[]scores){
38.this.scores=scores;
39.}
40.publicint[]getScores(){
41.returnscores;
42.}
43.publicvoidsetGrade(Gradesgrade){
44.this.sgrade=sgrade;
45.}
46.publicGradegetGrade(){
47.returnsgrade;
48.}
49.publicabstractGradecalculateGrade();
50.}
07.publicGradecalculateGrade(){
17.returnGrade.DISTINCTION;
19.returnGrade.MERIT;
21.returnGrade.AVERAGE;
23.returnGrade.PASS;
25.returnGrade.FAIL;