《Java程序设计实用教程》课后参考答案-曲翠玉_第1页
《Java程序设计实用教程》课后参考答案-曲翠玉_第2页
《Java程序设计实用教程》课后参考答案-曲翠玉_第3页
《Java程序设计实用教程》课后参考答案-曲翠玉_第4页
《Java程序设计实用教程》课后参考答案-曲翠玉_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1.5思考与练习1.简答题(1)简述Java语言的发展过程。Java的历史要追溯到1991年,当时美国SunMicrosystems公司的PatrickNaughton及其伙伴JamesGosling带领的工程师小组想要设计一种小型的计算机语言,主要应用对象是有线电视转换盒这类消费设备。刚开始,该项目成员准备采用C++语言,但感觉到C++语言太复杂,安全性也差,无法满足项目设计的需要,最后决定基于C++开发一种新的编程语言。Gosling临时为它起名叫Oak语言,但后来发现Oak是一种已有计算机语言的名称,于是又将其改名为Java,并配了一杯冒着热气的咖啡图案作为它的标志。(2)简述Java语言的特点。简单性、面向对象性、分布与安全性、与平台无关性、编译和解释特性、多线程、动态执行、自动废区回收性、丰富的API文档和类库(3)完成环境变量的设置。(4)编写一个简单的Java应用程序,并使用JDK工具在命令环境下编译运行。(5)在Eclipse下编写一个简单的Java应用程序,并编译运行。2.7思考与练习1.简答题(1)Java语言中标识符的组成有何要求?标识符以一个字母、下划线(_)或美元符号($)开始,随后可以跟数字、字母、下划线或美元符号。标识符区分大小写,没有长度限制,可以为标识符取任意长度的名字。标识符不能是Java中的关键字。(2)如何定义常量和变量?定义常量的语法如下:finaldatatypeCONSTNAME=VALUE;声明变量的语法格式如下:typeidentifier[=value][,identifier[=value]…..];(3)Java的基本数据类型有哪些?Java中的基本数据类型共有三大类:数值型、字符型和布尔型,数值型又分为整数类型和浮点类型。(4)何时需要进行强制类型转换?当把级别高的变量值赋给级别低的变量时,需要进行强制类型转换,强制类型转换的格式为:(类型名)要转换的值;3.4思考与练习1.程序设计题(1)用switch语句实现下述功能:通过键盘输入性别代号,若输入的是“m”,则输出“男性”;若输入的是“f”,则输出“女性”;其他情况输出“未知”。importjava.io.*;publicclassTest{publicstaticvoidmain(Stringargs[])throwsIOException { charsex; System.out.println("请输入性别代号:"); sex=(char)System.in.read(); switch(sex){ case'm':System.out.println("男性"); break; case'f':System.out.println("女性"); break; default:System.out.println("未知"); }}}(2)假定在银行中存款5000元,按6.25%的年利率计算,试问经过多少年后才能连本带利翻一番?试编程实现之。publicclassTest{publicstaticvoidmain(Stringargs[]) { doublem=5000.0;//初始存款额 doubles=m;//当前存款额 intcount=0;//存款年数 do { s=(1+0.0625)*s; count++; }while(s<2*m); System.out.println(count+"年后连本带利翻一番"); }}(3)写出下列程序的运行结果。classless2_test1{publicstaticvoidmain(Stringargs[]){inti=0;outer:for(;true;){inner:for(;i<10;i++){if(i==2) {System.out.println("continue2"); continue; }//ifi=2 if(i==3) {System.out.println("break3"); breakouter; }//ifi=3System.out.println(i+".I'mok"); }//inner}//outerSystem.out.println("theprogramisended");}//main}//class程序的运行结果为:0.I'mok1.I'mokcontinue2break3theprogramisended4.5思考与练习1.选择题(1)A(2)D(3)A(4)C(5)B(6)C(7)B(8)C(9)B(10)C2.程序设计题(1)classStudent{privateStringname;privateintage;Student(){name=”无名氏”;age=20;}publicvoidsetName(Stringname){=name;}publicStringgetName(){returnname;}publicvoidsetAge(intage){this.age=age;}publicintgetAge(){returnage;}publicBooleanisSameAge(Students){if(s.age==this.age)returntrue;elsereturnfalse;}}(2)publicclassAccount{Stringid,owner;doublebalance;Account(){id=null;owner=null;balance=0.00;}Account(Stringid,Stringowner,doublebalance){ this.id=id;this.owner=owner;this.balance=balance;}publicvoidsetID(Stringid){ this.id=id;}publicvoidsetOwner(Stringowner){ this.owner=owner;}publicdoubledeposit(doubleamount){ if(id==null)System.out.println("账号未知!"); else {System.out.println("账户"+id+"原来余额为"+balance); System.out.println("向账户"+id+"存入"+amount); balance+=amount; System.out.println("账户"+id+"现余额为"+balance); } returnbalance;}publicdoublewithdraw(doubleamount){ if(id==null)System.out.println("账号未知!"); elseif(balance<amount) System.out.println("余额不足!"); else{ System.out.println("账户"+id+"原来余额为"+balance); System.out.println("从账户"+id+"支取"+amount); balance-=amount; System.out.println("账户"+id+"现余额为"+balance); } returnbalance; }publicvoidquery(){ System.out.println("账号为:"+id+"账户持有人姓名为:"+owner+"账户余额为:"+balance);}publicstaticvoidmain(Stringargs[]){ AccountJimmy=newAccount("001","Jimmy",1000.00); Jimmy.setID("00001"); Jimmy.setOwner("alice"); Jimmy.deposit(500.00); Jimmy.withdraw(200.00); Jimmy.query();}}5.5思考与练习1.选择题(1)B(2)A(3)A(4)B(5)B(6)A(7)D(8)CD(9)C(10)B2.程序设计题interfaceShape{floatgetArea();voidoutPut();}classCircleimplementsShape{floatr;Circle(floatr){this.r=r;}publicfloatgetArea(){return3.14*r*r}publicvoidoutPut(){System.out.println(“圆形面积为”+getArea());}}classTestCircle(){publicstaticvoidmain(String[]args){CircleC1=newCircle(5.0f);C1.outPut();}}6.4思考与练习1.简答题(1)String和StringBuffer有什么区别?String类表示了定长、不可变的字符序列,Java语言中所有的字符串常量(如“abc”)都作为此类的实例来实现。它的特点是一旦赋值,便不能改变其指向的字符串对象,如果更改,就会指向一个新的字符串对象。StringBuffer类可以完成字符串的动态添加、插入和替换等操作。StringBuffer表示变长的和可写的字符序列。StringBuffer类可以插入其中或追加其后的字符或子字符串,还可以针对这些添加操作自动地增加空间,同时它通常还有比实际需要更多的预留字符,从而允许增加空间。(2)编程产生0~100之间的随机数。importjava.util.*;publicclassStringTokenizerDemo{publicstaticvoidmain(Stringargs[]){ intk=(int)(Math.random()*100); System.out.print(k);}}7.6思考与练习1.程序设计题(1)使用图形用户界面编写一个猜数游戏程序GuessNumber.java,程序生成一个10以内的整数,用户从键盘输入猜测的数,程序提示猜的数比生成的数大还是小,直到猜对为止。请自己设置图形用户界面的布局。importjava.awt.*;importjava.awt.event.*;publicclassGuessNumberextendsFrameimplementsActionListener{ Labell; TextFieldguess,result; Buttoncheck; inti1; GuessNumber(){ i1=(int)(Math.random()*10)+1; l=newLabel("请输入猜测的数"); guess=newTextField(5); result=newTextField(20); check=newButton("查看结果"); this.setLayout(newFlowLayout()); add(l); add(guess); add(result); add(check); check.addActionListener(this); this.setSize(200,200); validate(); this.setVisible(true); } publicvoidactionPerformed(ActionEvente){ inti2; i2=Integer.parseInt(guess.getText()); if(i1<i2){ result.setText("猜大了,请重新猜!"); guess.setText(""); } elseif(i1>i2){ result.setText("猜小了,请重新猜!"); guess.setText(""); } else{ result.setText("恭喜您,猜对了!"); } } publicstaticvoidmain(Stringargs[]){ newGuessNumber(); }}(2)设计一个界面程序ClickMe.java,内含一个按钮,开始运行时,按钮显示“ClickMe”字样,当按下按钮时,按钮上面的文字变成了“ClickMeAgain”,再按一次,则变回原来的“ClickMe”字样,如此循环。importjava.awt.*;importjava.awt.event.*;publicclassClickMeextendsFrameimplementsActionListener{Buttonb;intcount=0;publicClickMe(){ b=newButton("ClickMe"); this.setLayout(newFlowLayout()); add(b); this.setSize(500,500); validate(); this.setVisible(true); b.addActionListener(this);}publicvoidactionPerformed(ActionEvente){ count++; if(count%2!=0)b.setLabel("ClickMeAgain"); elseb.setLabel("ClickMe");}publicstaticvoidmain(Stringargs[]){ newClickMe();}}(3)编写一个数字-英文转换的图形用户界面程序EnglishToNumber.java,包括一个文本框和一个标签。在文本框中输入一个数字(0~9),按回车键,在标签处显示对应的英文单词。0~zero,1~one,……9~nine.,如图所示。若输入非数字字符,在标签处显示“输入错误!”。若输入的数据超过0~9的范围,提示“输入的数据超出范围!”importjava.awt.*;importjava.awt.event.*;publicclassEnglishToNumberextendsFrameimplementsActionListener{TextFieldt;Labell;publicEnglishToNumber(){ t=newTextField(10); l=newLabel(); this.setLayout(newBorderLayout()); add(t,"North"); add(l,"Center"); t.addActionListener(this); this.setSize(200,200); validate(); this.setVisible(true);}publicvoidactionPerformed(ActionEvente){ if(Integer.parseInt(t.getText())==0) l.setText("zero"); elseif(Integer.parseInt(t.getText())==1) l.setText("one"); elseif(Integer.parseInt(t.getText())==2) l.setText("two"); elseif(Integer.parseInt(t.getText())==3) l.setText("three"); elseif(Integer.parseInt(t.getText())==4) l.setText("four"); elseif(Integer.parseInt(t.getText())==5) l.setText("five"); elseif(Integer.parseInt(t.getText())==6) l.setText("six"); elseif(Integer.parseInt(t.getText())==7) l.setText("seven"); elseif(Integer.parseInt(t.getText())==8) l.setText("eight"); elseif(Integer.parseInt(t.getText())==9) l.setText("nine"); elseif(Integer.parseInt(t.getText())>9) l.setText("输入的数据超出范围"); else l.setText("输入错误!");}publicstaticvoidmain(Stringargs[]){ newEnglishToNumber();}}(4)编写一个图形界面程序WelcomeYou,java,包括两个文本框和一个按钮。在第一个文本框中输入一个姓名,当按回车时,在第二个文本框中输出“姓名,欢迎你!”。例如,输入“kitty”,输出“kitty,欢迎你!”,如图所示。importjava.awt.*;//引入类库importjava.awt.event.*;classWelcomeYouextendsFrameimplementsActionListener{Labelprompt;//声明标签对象TextFieldinput,output;//声明文本对象Buttonbtn;//声明按钮对象FrameInOut(){super("图形界面的JavaApplication程序");prompt=newLabel("请输入您的姓名");input=newTextField(6);output=newTextField(20);btn=newButton("关闭");//产生按钮并初始化setLayout(newFlowLayout());//窗体布局add(prompt);//在窗体上填加控件add(input);add(output);add(btn);input.addActionListener(this);//为控件填加监听功能btn.addActionListener(this);setSize(200,200);//窗体大小setVisible(true);//可见}publicvoidactionPerformed(ActionEvente){if(e.getSource()==input)//判断动作控件是否为文本output.setText(input.getText()+“,欢迎你!”);//将输入内容与“,欢迎你!”连接后在输出文本中输出else{dispose();System.exit(0);//关闭窗体}}publicstaticvoidmain(Stringargs[]){newWelcomeYou();//声明产生窗体}}8.6思考与练习1.程序设计题声明窗口类ReadFile,在窗口中输入用户名和密码,并将用户名和密码保存到文件Secret.txt中。程序的运行界面如下图所示:importjava.awt.*;importjava.awt.event.*;importjava.io.*;publicclassReadFileextendsFrameimplementsActionListener{Labelm_id=newLabel("用户名:");Labelm_key=newLabel("密码:");Buttonm_input=newButton("存入");TextFieldId=newTextField(10);TextFieldKeyid=newTextField(10);StringoutFilename;StringBufferm_buf=newStringBuffer();ReadFile(){this.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});this.setLayout(newFlowLayout());add(m_id);add(Id);add(m_key);add(Keyid);Keyid.setEchoChar('*');add(m_input);m_input.addActionListener

温馨提示

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

评论

0/150

提交评论