Java基础教程(第3版)习题答案_第1页
Java基础教程(第3版)习题答案_第2页
Java基础教程(第3版)习题答案_第3页
Java基础教程(第3版)习题答案_第4页
Java基础教程(第3版)习题答案_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、(z=+z);(z=+z);部分习题答案答案】答案见教材V略。第二章请说明注释的作用。【答案】答案见教材V略。判断下列那些是标识符?3classbyte?roomBeijing因为标识符不能已数字开始,也不能是保留关键字(如byte),beijing【答案】因为标识符不能已数字开始,也不能是保留关键字(如byte),请指出下列声明字符变量(1)charch=A;(2)charch=u0020;(3)charch=88;(4)charch=ab;(5)charch=A;答案】(4)错,因为关键字ch的语句是否存在错误?如果有,请改正。char是用于声明字符变量,不可声明字符串变量。如果intx=

2、1,y=-2,n=10;那么,表达式x+y+(-n)*(xy&x0?(x+1):y)的值是什么类型?结果是多少?【答案】int型,值为17。如果intk=1,那么H+k的类型是什么?下面语句是否存在差错?如果有,请改正。intk=1;charch1,ch2;ch1=H+k;ch2=98;【答案】H+k的类型为int型。有错。H+k为int型,chi为char型,将高精度赋给低精度类型时必须实行强制转换。请指出下面程序在编译时是否会出现错误。如果有,请改正。publicclassdoubleTointExamplepublicstaticvoidmain(Stringargs)inta;doub

3、leb=1,c=2;a=(int)(b+c);System.out.println(a=+a);【答案】无错误。输出结果:a=3请指出执行完下面程序后x、y和z的输出值是多少?请上机验证。publicclassdoubleTointExamplepublicstaticvoidmain(Stringargs)intx,y,z;x=1;y=2;z=(x+y3?x+:+y);System.out.println(x=+x);System.out.println(y=+y);System.out.println【答案】x=1y=3z=3请指出下面程序片段输出的结果是什么。inti=1,j=10;do

4、if(i+-j)break;while(i5);System.out.println(“i=”+”+“j=”+j);【答案】i=5j=6请分别用if-else语句和switch语句编写实现下列功能的程序。某同学某门课的成绩可能的结果为1,2,3,4,5。当成绩为1时请输出不及格;成绩为2时请输出及格;成绩为3时请输出中等;成绩为4时请输出良好;成绩为5时请输出优秀。【答案】/*if-else描述程序*/publicclassxt020901publicstaticvoidmain(Stringargs)intscore=4;if(score=1)System.out.println(不及格);

5、elseif(score=2)System.out.println(及格);elseif(score=3)System.out.println(中等);elseif(score=4)System.out.println(良好);elseSystem.out.println(优秀);/*switch描述程序*/publicclassxt020902publicstaticvoidmain(Stringargs)intscore=4;switch(score)case1:System.out.println(不及格);break;case2:System.out.println(及格);break

6、;case3:System.out.println(中等break;);case4:System.out.println(良好);break;case5:System.out.println(优秀);break;请编写输出乘法口诀表的程序。乘法口诀表的部分内容如下:1*1=11*2=22*2=31*3=32*3=63*3=91*4=42*4=83*4=124*4=16publicclassxt0210publicstaticvoidmain(Stringargs)finaldoublePI=3.141592654;doublearea,r;area=PI*r*r;System.out.prin

7、tln(面积=”+area);【答案】publicclassxt0210publicstaticvoidmain(Stringargs)inti,j;inti,j;inti,j;inti,j;for(i=1;iv=9;i+)for(j=1;j=i;j+)System.out.print(j+*+i+=+i*j+);System.out.printlnO;请编写程序实现如下效果图。DGFJNKQOST【答案】publicclassxt0211publicstaticvoidmain(Stringargs)inti,j,k,num;charch;num=A-1;for(i=1;i=4;i+)for

8、(k=1;k=4-i;k+)System.out.print();for(j=1;j=i;j+)num=num+1;ch=(char)num;System.out.print(ch+”);System.out.println();for(i=1;i=4;i+)for(k=1;k=i-1;k+)System.out.print();for(j=1;j=5-i;j+)sum=sum+i;sum=sum+i;sum=sum+i;sum=sum+i;num=num+1;ch=(char)num;System.out.print(ch+);System.out.println();12.分别利用【答案】

9、/*for语句实现*/publicclassxt021201publicstaticvoidmain(Stringargs)inti,n=100;longsum=0;for(i=1;i=n;i+)for语句While语句以及dowhile语句编写一个求和程序(即sum=1+2+3+n)。sum=sum+i;System.out.println(sum1:n=+sum);语句实现*/*whilepublicclassxt021202publicstaticvoidmain(Stringargs)inti,n=100;longsum=0;i=1;while(i=n)sum=sum+i;i=i+1;

10、System.out.println(sum1:n=+sum);/*dowhile语句实现*/publicclassxt021203publicstaticvoidmain(Stringargs)inti,n=100;longsum=0;i=1;docase11:case11:case11:case11:if(bif(b=true)count+;System.out.println(i);i=i+1;while(ieps)x0=x;x=(-2*x0*x0*x0+4*x0*x0+6)/3;14、题目判断3-1000之间有多少个素数,并输出所有素数。程序分析:判断素数的方法:用一个数分别去除此2到

11、sqrt(这个数),如果能被整除,则表明数不是素数,反之是素数。publicclassxt0213publicstaticvoidmain(Stringargs)intcount=0;for(inti=3;i=1000;i+=2)booleanb=false;for(intj=2;j=Math.sqrt(i);j+)if(i%j=0)b=false;break;elseb=true;System.out.println(素数个数是:+count);15、输入某年某月某日,判断这一天是这一年的第几天?【参考答案】importjava.util.*;publicclassxt0214publics

12、taticvoidmain(Stringargs)intyear,month,day;intdays=0;intd=0;inte;InputDatadata0=newInputData();doe=0;);System.out.print(输入年:year=data0.inputInt(););System.out.print(输入月:month=data0.inputInt(););System.out.print(输入天:idafy(=yeadarta00.in|putmoInntth();12|daySystem.out.println(输入错误,请重新输入!31)Jwhile(e=1)

13、;for(inti=1;i50)v=9;p=v+u;要求:指出错误,说明错误原因,并改正。【答案】错误原因:法产生的,改正措施:B.java内容如下:classAintx,y;Java语言规定,任何变量在使用之前,当u0)System.out.print(ch);output(ch,k-1);voidshow(charch,intm,intn)if(n0)output(,m);output(ch,n);System.out.println();show(ch,m+2,nshow(ch,m+2,n-4);publicclassJe030515publicstaticvoidmain(String

14、args)RecursionApp2obj=newRecursionApp2();obj.show(#,4,19);定义满足以下要求的复数类Complex:1)复数类Complex的属性有:realPart:int型,代表复数的实数部分imagePart:int型,代表复数的虚数部分2)复数类Complex的方法有:Complex():构造函数,将复数的实部和虚部都置0Complex(intr,inti):构造函数,形参r为实部的初值,i为虚部的初值。addComplex(Complexa):计算当前复数对象与形参复数对象相加。编写一个完整的JavaApplication程序使用复数类Comp

15、lex验证两个复数1+2i和3+4i相加产生一个新的复数4+6i。参考答案:ComplexintRealPart;intImagePart;Complex()RealPart=0;ImagePart=0;Complex(intx,inty)RealPart=x;ImagePart=y;addComplex(Complexc1)RealPart=RealPart+c1.RealPart;ImagePart=ImagePart+c1.ImagePart;publicclassxt020902publicstaticvoidmain(Stringargs)Complexc1=newComplex(1

16、,2);Complexc2=newComplex(1,2);System.out.print(“复数c1的实部=”+c1.RealPart+”虚部=”+c1.ImagelPart)System.out.print(“复数c2的实部=”+c1.RealPart+”虚部=”+c1.ImagelPart)c1.addComplex(c2);System.out.print(“复数cl二c1+c2的实部二”+c1.RealPart+”虚部二”+c1.lmagelPart)(3)定义一个二维向量Va,b类,其中a、b为其属性,主要操作为:向量相加:向+=量相减:向量内积:编程定义该类,并使用=该类。参考

17、答案:X=axc+bxd/程序名称:Java030801.java/目的:演示自定义类及其如何使用classMyVectorfloatx,y;/表示向量中的x,ymyVector(floatx,floaty)this.x=x;this.y=y;setVector(floatx,floaty)this.x=x;this.y=y;void/向量相加+=voidaddVector(myVectorv1,myVectorv2)this.x=v1.x+v2.x;this.y=v1.y+v2.y;this.y=v1.y+v2.y;this.y=v1.y+v2.y;this.y=v1.y+v2.y;/向量相

18、减-=voidminusVector(myVectorv1,myVectorv2)this.x=v1.x-v2.x;this.y=v1.y-v2.y;/向量内积-vc,d=axc+bxdfloatmultVector(myVectorv1)returnthis.x*v1.x+this.y*v1.y;/显示向量vx,yvoidshowVector()System.out.println(vx,y=+v+x+,+y+);publicclassJava030801publicstaticvoidmain(Stringargs)MyVectora1=newMyVectora2=newMyVectora

19、1=newMyVectora2=newMyVectora3=newa1.showVector();MyVector(1,2);MyVector(3,4);MyVector(0,0);a2.showVector();a3.addVector(a1,a2);a3.showVector();a3.minusVector(a1,a2);a3.showVector();第四章简述Java中继承的含义及特点。【答案】答案见教材V略。指出下列程序中的错请说明错误原因。误,classApublicinta=1;privateintb=2;protectedintc=3;intd=4;publicintdisp

20、A()privateintdispB()protectedintdispC()intdispD()returnd;publicclassBextendsApublicstaticvoidreturna;main(Stringargs)returnb;returnc;Bbb=newB();bb.testVisitControl();publicvoidtestVisitControl()System.out.println(a+dispA();System.out.println(b+dispB();System.out.println(c+dispC();System.out.println(

21、d+dispD();【答案】子类System.out.println(b+dispB();彳丁编辑时出现错误。原因如下:(2)子类B和父类A在同一包中;B不能继承父类的private型属性和方法。根据下面程序片段,画出类和对象的内存映像图。classAstaticintsv1=10;intsv2=20;intsv3=30;staticvoidsf1()voidf1()classBextendsAstaticintsv2=30;intv2=3;voidf1()Aref1=newA();Bref2=newB();ref1=ref2;答案】A/svl1101A/svl110简述子类对象的成员初始化的

22、方法。【答案】答案见教材v略。简述成员变量的隐藏的含义,并举例说明。【答案】答案见教材v略。明。简述方法的重载和方法的覆盖的区别,并举例说明。【答案】答案见教材V略。7.列举this和super的用途。【答案】答案见教材V略。指出下列程序运行的输出结果。classPointintx,y;Point()this(-1,-1);showxy()Point(inta,intb)x=av;oidSystem.out.println(y=b;showxy()y=”+y);x=+x+publicclassreloadingExamplepublicstaticvoidmain(Stringargs)Poi

23、nta=newPoint();Pointb=newPoint(1,1);showxy();showxy();【答案】输出结果为:x=-1y=-1x=1y=1指出下列程序运行的输出结果。classAintx=1,y=2;doubleadd()returnx+y;classBextendsAintx=10,y=20;doubleadd()returnsuper.x+super.y;classex2publicstaticvoidmain(Stringargs)Aa=newA();Bb=newB();System.out.println(a.add=+a.add();System.out.print

24、ln(b.add=+b.add();【答案】输出结果为:a.add=3.0b.add=3.010.简述接口和抽象类的含义,以及它们两者之间的不同。【答案】答案见教材V略。第五章为什么说Java多维数组是数组元素为数组的一维数组,请用事实说明。【答案】答案见教材V略。判断下面数组的定义是否正确?如果不正确,请改正。inta5;charch54;inta=newint4;intN=10;inta=newintN;【答案】数组定义错。因为数组声明时方括号中不能用数字,即不允许静态说明数组。数组定义错。因为数组维数声明顺序应该从高到低,先声明高维,再声明低维。正确。因为数组元素个数可以是常量,也可以是

25、变量。若int,请问a.length,a2.lengtha=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15a3.length分别等于多少?【答案】a.length,a2.length,a3.length分别等于5、3、2。写出下列程序的运行结果。classAvoidoperate(intc)inti;for(i=0;ic.length;i+)ci=3*ci;publicclassArrayExample4publicstaticvoidmain(Stringargs)Aa=newA();intb=1,2,3,4;a.operate(b);for(inti=0;ib.le

26、ngth;i+)System.out.println(bi);【答案】运行结果为:36912写出下列程序的运行结果。publicclassStringExample4publicstaticvoidmain(Stringargs)Strings1=abc;Strings2=s1;s2+=def;s1.concat(def);System.out.println(s1=+s1+s2=+s2);【答案】运行结果为:s1=abcs2=abcdef写出下列程序运行的结果。publicclassStringExample5publicstaticvoidmain(Stringargs)Strings=a

27、b,c,d;reverse(s0,s1);System.out.println(s0=+s0+s1=+s1);staticvoidreverse(Strings0,Strings1)Strings;s=s0;s0=s1;s1=s;【答案】运行结果为:s0=abs1=c写出下列程序的运行结果。publicclassStringExample6publicstaticvoidmain(Stringargs)Strings=ab,c,d;reverse(s);staticvoidSystem.out.println(s0=+s0+s1=+s1);reverse(Strings)staticvoidS

28、trings0;s0=s1;s1=s0;s0=s0;【答案】运行结果为:s0=cs1=ab写出下列程序的运行结果。publicclassStringBufferExample3publicstaticvoidmain(Stringargs)StringBuffers1=newStringBuffer(AB);StringBuffers2=newStringBuffer(CD);operate(s1,s2);System.out.println(s1=+s1+s2=+s2);staticvoidoperate(StringBufferx,StringBuffery)x.append(y);x=y

29、;【答案】运行结果为:s1=ABCDs2=CD9判断一个数是否是回文数。如,12321是回文数,个位与万位相同,十位与千位相同。【参考答案】importjava.util.*;publicclassxt0509publicstaticvoidmain(Stringargs)Scanners=newScanner(System.in);booleanis=true;System.out.print(”请输入一个正整数:);Ionga=s.nextLong();Stringss=Long.toString(a);charch=ss.toCharArray();intj=ch.length;for(

30、inti=0;ij/2;i+)if(chi!=chj-i-1)is=faIse;if(is=true)System.out.println(”这是一个回文数);elseSystem.out.println(这不是一个回文数);10输入20个数,并对20个数进行排序。importjava.util.*;publicclassxt0510publicstaticvoidmain(Stringargs)Scanners=newScanner(System.in);inta=newint20;System.out.println(请输入20个整数:);for(inti=0;i20;i+)ai=s.ne

31、xtInt();for(inti=0;i10;i+)for(intj=i+1;jaj)intt=ai;ai=aj;aj=t;for(inti=0;i10;i+)System.out.print(ai+);11打印出杨辉三角形。1341010341010341010341010参考答案】:publicclassxt0511publicstaticvoidmain(Stringargs)inta=newint1010;for(inti=0;i10;i+)aii=1;ai0=1;for(inti=2;i10;i+)for(intj=1;ji;j+)aij=ai-1j-1+ai-1j;for(inti

32、=0;i10;i+)for(intk=0;k2*(10-i)-1;k+)System.out.print();for(intj=0;j=i;j+)System.out.print(aij+);System.out.println();12字符串排序。【参考答案】publicclassxt0512publicstaticvoidmain(Stringargs)intN=5;Stringtemp=null;Strings=newStringN;s0=matter;s1=state;s2=solid;s3=liquid;s4=gas;for(inti=0;iN;i+)for(intj=i+1;jN;

33、j+)if(compare(si,sj)=false)temp=si;si=sj;sj=temp;for(inti=0;iN;i+)System.out.println(si);staticbooleancompare(Strings1,Strings2)booleanresult=true;for(inti=0;is1.length()&is2.charAt(i)result=false;break;elseif(s1.charAt(i)s2.charAt(i)result=true;break;elseif(s1.length()。简述Java异常处理的机制。【答案】答案见教材V略。简述f

34、inally块的用途,举例说明。【答案】答案见教材V略。简述throw和throws的用途,以及两者之间的差异。【答案】答案见教材V略。编写一个程序,自定义一个异常,并对其进行处理。【答案】/myException.javaimportjava.util.*;classmyExceptionextendsExceptionclassUserTrialintscore;publicUserTrial(inta)score=a;voidshow()throwsmyExceptionif(score100)thrownewmyException();System.out.println(score=

35、+score);classxt060501publicstaticvoidmain(Stringargs)UserTrialtrial=newUserTrial(4);Scannerreader=newScanner(System.in);System.out.println(请输入分数,并按回车键确认);intx=reader.nextInt();trial.score=x;System.out.println(x=+x);trytrial.show();catch(myExceptione)System.out.println(错误分数:不在0,100之间);说明:自定义异常myExcep

36、tion,当输入分数不在0,100之间时,激活异常,显示错误分数:不在0,100之间错误提示。列举10种常见异常。【答案】答案见教材V略。第七章/习题1/程序名称:Exam070401.java/功能:获取属性publicclassExam070401publicstaticvoidmain(Stringargs)System.out.println(运彳丁时环境版本=+System.getProperty(java.version);System.out.println(安装目录二+System.getProperty(java.home);System.out.println(类路径二+S

37、ystem.getProperty(java.class.path);System.out.println(操作系统的名称二+System.getProperty();System.out.println(操作系统的版本二+System.getProperty(os.version);System.out.println(用户的账户名称二+System.getProperty();System.out.println(用户的主目录二+System.getProperty(user.home);System.out.println(用户的当前工作目录=+System.getProperty(us

38、er.dir);/习题importjava.util.*;classtestvoidtestString(Stringstr0)inti,flag;charch;Stringstr1=newString();Stringstr2=newString();Queueque=newLinkedList();Stackstk=newStack();inti=1;while(i=str0.length()que.offer(str0.substring(1,1);stk.push(str0.substring(1,1);flag=1while(flag=1&!skt.empty()str1=que.p

39、oll();str2=stk.pop();if!str1.equals(str2)flag=0;if(flag=1)System.out.println(”是回文!);/PrintBipolypublicclassExam070402publicstaticvoidmain(Stringargs)myQueuea=newtest();a.testString(abba);a.testString(ababab);/习题publicclassExam070403publicstaticvoidmain(Stringargs)doubled;Strings=1.1,2.5,3.12;4.56;5.

40、13,6.0;7.6,8.8,99.2,10.11;/对s以分号为分隔符分离生成数组一维数组sFirstStringsFirst=s.split(;);d=newdoublesFirst.length;for(inti=0;isFirst.length;i+)/System.out.println(sFirsti+);/对sFirsti以逗号为分隔符分离生成数组一维数组sSecondStringsSecond=sFirsti.split(,);di=newdoublesSecond.length;for(intj=0;jsSecond.length;j+)dij=Double.parseDou

41、ble(sSecondj);for(inti=0;id.length;i+)for(intj=0;jdi.length;j+)System.out.print(dij+);System.out.println();/习题importjava.util.*;publicclassExam070404publicstaticvoidmain(Stringargs)Randomrand=newRandom();intn0,n1,n2,n3,n4,v0;n0=n1=n2=n3=n4=0;for(inti=0;i=0&v=60&v=70&v=80&v=90&v=99)n4=n4+1;System.out

42、.println(”区间0,59的个数二+n0);System.out.println(区间60,69的个数二+n1);System.out.println(”区间70,79的个数二+n2);System.out.println(区间80,89的个数二+n3);System.out.println(区间90,100的个数二+n4);第八章编写一个程序实现以下功能:从键盘输入一行文字写入到一个文件中。importjava.io.*;publicclassxt070101publicstaticvoidmain(Stringargs)trySystem.out.print(”输入一彳丁字符:);i

43、ntcount,n=512,num=0;bytebuffer=newbyten;FileOutputStreamwf=newFileOutputStream(xt070101.txt);docount=System.in.read(buffer);wf.write(buffer,0,count);/写入输出流num=num+1;while(num0)/读取输入流System.out.print(newString(buffer);System.out.println();rf.close();/关闭输入流catch(IOExceptionioe)System.out.println(ioe);

44、catch(Exceptione)System.out.println(e);编写一个程序实现以下功能:将1100内的奇数写入二进制文件,然后从该二进制文件中逐一读取奇数并以每行10个数的方式输出到显示屏。importjava.io.*;publicclassxt070301publicstaticvoidmain(Stringargs)throwsIOExceptionStringfname=xt070301.txt;tryinti;FileOutputStreamout=newFileOutputStream(fname);DataOutputStreamwf=newDataOutputS

45、tream(out);for(i=1;i=100;i+)if(i%2!=0)wf.writeInt(i);wf.closeO;/关闭输出流FileInputStreamin=newFileInputStream(fname);DataInputStreamrf=newDataInputStream(in);i=0;while(i10)i=i+1;System.out.println(第+i+个奇数二+rf.readlnt();rf.close();II关闭输入流catch(lOExceptionioe)System.out.printin(ioe);catch(Exceptione)Syste

46、m.out.println(e);表7-12table表结构4编写一个程序实现以下功能:(1)往Access数据库表table中增加一条记录;(2)修改table表中满足一定条件的记录;(3)删除table表中满足一定条件的记录;(4)在显示屏上显示importjava.sql.*;importjava.io.*;publicclassxt070401publicstaticvoidmain(Stringargs)Stringtt=null;intcount=0;StringsDBDriver=sun.jdbc.odbcJdbcOdbcDriverStringsConnStr=jdbc:odb

47、c:myaccess;Connectionconn=null;StatementStmt=null;ResultSetRS=null;tryClass.forName(sDBDriver);catch(java.lang.ClassNotFoundExceptione)System.err.println(shop():+e.getMessage();tryconn=DriverManager.getConnection(sConnStr,);Stmt=conn.createStatement();/*插入三条记录*/Stmt.executeUpdate(INSERTINTOtable2VAL

48、UES(吴,男,2007001,90);Stmt.executeUpdate(INSERTINTOtable2VALUES(郭妞,女,2007002,60);Stmt.executeUpdate(INSERTINTOtable2VALUES(大发,男,2007003,100);/*修改姓名为郭妞的总分*/Stmt.executeUpdate(Updatetable2set总分=80where(姓名二郭妞);/*删除姓名为吴的记录*/Stmt.executeUpdate(Deletefromtable2where姓名二吴);/*显示表中所有记录*/RS=Stmt.executeQuery(SEL

49、ECT*FROMtable2);while(RS.next()System.out.print(RS.getString(1)+);System.out.print(RS.getString(2)+);System.out.print(RS.getString(3)+);)System.out.println(RS.getString(4)+conn.close();catch(SQLExceptionex)System.err.println(aq.executeQuery:+ex.getMessage();第九章简述线程的含义及特点。简述线程的生命周期的含义。线程的个生命周期包括哪些状态?

50、各状态之间是如何进行转换的?简述创建线程的方法,并举例说明。简述Java是如何进行线程调度的。为什么在多线程系统中要引入同步机制?Java是如何实现同步机制的?编程验证优先级高的进程比优先级低的进程优先被调度。创建一个Thread子类,覆盖run()方法。要求在run()方法内,打印一条线程已启动的消息,然后调用sleep()方法,sleep()方法延迟时间到后就退出程序。上机调试本章中的实例。第十章第十一章简述AppIet程序的生命周期含义。Applet个生命周期中各方法之间如何切换?编写一个计算圆锥体积的程序,要求在文本框Text1和Text2中分别输入左、右操作数,单击运算符按钮(+,-

51、,*,/)时在另一个文本框中显示运算结果。注意在执行除运算时,若被除数为零,要求出现错误提示信息,如下图所示。importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;classmyJFrameextendsJFrameimplementsActionListenerintx=0,y=0,w,h;JLabeljlb1,jlb2,jlb3;JButtonjbt1,jbt2,jbt3,jbt4,jbt5;JTextFieldjtext1,jtext2,jtext3;Containercp=getContentPane();publicm

52、yJFrame()setLayout(null);jbt1=newJButton(”加”);jbt2=newJButton(”减);jbt3=newJButton(乘);jbt4二newJButton(除);jbt5二newJButton(退出);jlb1=newJLabel(左操作数:JLabel.CENTER);jlb2=newJLabel(右操作数:,JLabel.CENTER);jlb3=newJLabel(结果JLabel.CENTER);jtext1=newJTextField();jtext2=newJTextField();jtext3=newJTextField();x=80

53、;y=60;w=60;h=30;cp.add(jbt1);cp.add(jbt2);cp.add(jbt3);cp.add(jbt4);cp.add(jbt5);cp.add(jlb1);cp.add(jlb2);cp.add(jlb3);cp.add(jtext1);cp.add(jtext2);cp.add(jtext3);jbt1.addActionListener(this);jbt2.addActionListener(this);jbt3.addActionListener(this);jbt4.addActionListener(this);jbt5.addActionListe

54、ner(this);jbt1.setBounds(x,y,w,h);jbt2.setBounds(2*x,y,w,h);jbt3.setBounds(3*x,y,w,h);jbt4.setBounds(4*x,y,w,h);jbt5.setBounds(x,5*y,5*w,h);jlb1.setBounds(x,2*y,2*w,h);jtext1.setBounds(3*x,2*y,2*w,h);jlb2.setBounds(x,3*y,2*w,h);jtext2.setBounds(3*x,3*y,2*w,h);jlb3.setBounds(x,4*y,2*w,h);jtext3.setBo

55、unds(3*x,4*y,2*w,h);jlb3.setBounds(x,4*y,2*w,h);jtext3.setBounds(3*x,4*y,2*w,h);setSize(600,700);show();publicvoidactionPerformed(ActionEvente)floatnum1=0,num2=0,num3=0;charch=+;if(e.getSource()=jbt5)dispose();/释放资源System.exit(0);/退出程序if(e.getSource()=jbt1)ch=+;elseif(e.getSource()=jbt2)ch=-;elseif(

56、e.getSource()=jbt3)ch=*;elseif(e.getSource()=jbt4)ch=/;num1=Float.valueOf(jtext1.getText().floatValue();num2=Float.valueOf(jtext2.getText().floatValue();switch(ch)case+:num3=num1+num2;break;case-:num3=num1-num2;break;I9Icase*:num3=num1*num2;break;case/if(num2!=0)num3=num1/num2;elsenum3=0;jtext2.setT

57、ext(”被0除);break;jtext3.setText(String.valueOf(num3);publicclassxt090201publicstaticvoidmain(Stringargs)myJFrameobj=newmyJFrame();3.编写一个菜单窗口,菜单详细信息如下:菜单项文件编辑工具帮助菜单子项新建撤销设置关于打开复制统计字符保存粘贴关闭查找替换要求:鼠标单击菜单子项时,弹出一个窗口显示“该项目正在建设/以下程序仅供读者学习参考importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importja

58、vax.swing.tree.*;importjavax.swing.event.*;importjavax.swing.border.*;importjavax.swing.table.*;publicclassxt090301extendsJFrame/主类,初始化所有子类,并设置主类的相关属性Stringinform;publicxt090301()/初始化所有类MenuTestmenuTest=newMenuTest();/LeftPanelleftPanel=newLeftPanel();/RightPanelrightPanel=newRightPanel();/BottomPan

59、elbottomPanel=newBottomPanel();/CenterPanelcenterPanel=newCenterPanel();/设置主类的布局Containercon=this.getContentPane();BorderLayoutmylayout=newBorderLayout();con.setLayout(mylayout);this.setJMenuBar(menuTest);/con.add(leftPanel,mylayout.WEST);/con.add(rightPanel,mylayout.EAST);/con.add(centerPanel,mylay

60、out.CENTER);/con.add(bottomPanel,mylayout.SOUTH);/利用无名内类,增加窗口事件this.addWindowListener(newWindowAdapter()publicvoidWindowClosing(WindowEvente)dispose();/释放资源System.exit(0);/退出程序);setTitle(”习题4);setSize(750,650);/窗口大小/setUndecorated(true);setLocation(200,200);/窗口位置setResizable(false);/设置窗口大小不可改变show()

温馨提示

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

评论

0/150

提交评论