习题答案 46.docx
- 文档编号:4063995
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:16
- 大小:42.71KB
习题答案 46.docx
《习题答案 46.docx》由会员分享,可在线阅读,更多相关《习题答案 46.docx(16页珍藏版)》请在冰豆网上搜索。
习题答案46
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=3
System.out.println(i+".I'mok");
}//inner
}//outer
System.out.println("theprogramisended");
}//main
}//class
程序的运行结果为:
0.I'mok
1.I'mok
continue2
break3
theprogramisended
4.5思考与练习
1.选择题
(1)A
(2)D(3)A(4)C(5)B(6)C(7)B(8)C(9)B(10)C
2.程序设计题
(1)
classStudent
{
privateStringname;
privateintage;
Student()
{name=”无名氏”;
age=20;
}
publicvoidsetName(Stringname)
{this.name=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 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)B 2.程序设计题 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 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(this); setSize(400,100); setVisible(true);} publicvoidactionPerformed(ActionEvente){ Stringcmd=e.getActionCommand(); if(cmd=="存入"){ StringIdstrin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 习题答案 46 习题 答案