Java复习题已完成.docx
- 文档编号:12381001
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:43
- 大小:84.09KB
Java复习题已完成.docx
《Java复习题已完成.docx》由会员分享,可在线阅读,更多相关《Java复习题已完成.docx(43页珍藏版)》请在冰豆网上搜索。
Java复习题已完成
一.阅读分析下面程序,将程序中的代码补充完整,并回答问题。
1.//FirstApplet.java
importjava.applet.*;
importjava.awt.*;
publicclassFirstAppletextendsApplet
{
publicvoidpaint(Graphicsg)
{
【代码:
g.setColor(Color.blue);】//将当前字体颜色设置为蓝色
g.drawString("这是一个JavaApplet程序",10,30);
//在JavaApplet中绘制一行文字:
“这是一个JavaApplet程序”
【代码:
g.setColor(Color.red);】//将当前字体颜色设置为红色
g.setFont(newFont("宋体",Font.BOLD,36));
【代码:
g.drawString(“我改变了字体”,10,100);】//在JavaApplet中坐标(10,100)处绘制一行文字:
“我改变了字体”
}
}
(1)将源文件保持为FirstApplet.java,编译源文件。
编译命令:
【代码javacFirstApplet】
(2)编写一个html文件FirstApplet.html,将该文件和源程序保持在同一目录下。
文件内容如下:
(3)若用appletviewer打开FirstApplet.html文件。
运行命令为:
【代码appletviewerFirstApplet】
2.要求:
从键盘输入任意两个实数,比较两个数字的大小,将较大的数输出。
数据输入和输出用Java的标准输入流和输出流来实现。
阅读分析下面程序,将程序中的代码补充完整,实现数据比较功能。
importjava.util.Scanner;
publicclassCompareTwoNumbers{
doublenumber1,number2;
Scannerscanner;
publicCompareTwoNumbers(){
System.out.println("请输入两个数字:
");
scanner=newScanner(代码1:
system.in);//实例化一个Scanner对象;
number1=代码2:
scanner.nextDouble();//从键盘输入一个实数赋值给number1;
number2=代码3:
scanner.nextDouble();;//从键盘输入一个实数赋值给number2;
System.out.println("较大的数值是:
"+代码4:
Math.max(number1,number2));
//将number1和number2中的较大值输出;
}
publicstaticvoidmain(Stringargs[]){
CompareTwoNumbersct=newCompareTwoNumbers();
System.exit(0);
}
}
3.猜数字游戏
阅读分析下面程序,将程序中的代码补充完整,编辑运行查看结果。
//GuessNumber.java
importjavax.swing.JOptionPane;
publicclassGuessNumber
{
publicstaticvoidmain(Stringargs[])
{
System.out.println("给你一个1至100之间的整数,请猜测这个数");
intrealNumber=(int)(Math.random()*100)+1;
intyourGuess=0;
Stringstr=JOptionPane.showInputDialog("输入您的猜测:
");
yourGuess=Integer.parseInt(str);
while(【代码1:
yourGuess!
=realNumber】)//循环条件
{
if(【代码2:
yourGuess>realNumber】)//条件代码
{
str=JOptionPane.showInputDialog("猜大了,再输入你的猜测:
");
yourGuess=Integer.parseInt(str);
}
elseif(【代码3:
yourGuess { str=JOptionPane.showInputDialog("猜小了,再输入你的猜测: "); yourGuess=Integer.parseInt(str); } } System.out.println("猜对了! "); } } 4.String类的常用方法。 阅读分析下面程序,把程序中的代码补充完整,并查看结果。 //StringExample.java classStringExample {publicstaticvoidmain(Stringargs[]) {Strings1=newString("youareastudent"), s2=newString("howareyou"); if(【代码1: s1.equals(s2)】)//使用equals方法判断s1与s2是否相同 { System.out.println("s1与s2相同"); } else { System.out.println("s1与s2不相同"); } Strings3=newString("22030219851022024"); if(【代码2: s3.startWith(“220302”)】)//判断s3的前缀是否是“220302”。 { System.out.println("吉林省的身份证"); } Strings4=newString("你"), s5=newString("我"); if(【代码3: pareTo(s5)>0】)//按着字典序s4大于s5的表达式。 { System.out.println("按字典序s4大于s5"); } else { System.out.println("按字典序s4小于s5"); } intposition=0; Stringpath="c: \\java\\jsp\\A.java"; StringfileName=【代码4: path.concat(“A.java”);】//获取path中“A.java”子字符串。 System.out.println("c: \\java\\jsp\\A.java中含有的文件名: "+fileName); Strings6=newString("100"), s7=newString("123.678"); intn1=【代码5: Integer.parseInt(s6);】//将s6转化成int型数据。 doublen2=【代码6: Double.parseDouble(s7);】//将s7转化成double型数据。 doublem=n1+n2; System.out.println(m); Strings8=【代码7: String.valueOf(m);】//String调用valuOf(intn)方法将m转化为字符串对象 position=s8.indexOf("."); Stringtemp=s8.substring(position+1); System.out.println("数字"+m+"有"+temp.length()+"位小数"); Strings9=newString("ABCDEF"); chara[]=【代码8: s9.toCharArray();】//将s9存放到数组a中。 for(inti=a.length-1;i>=0;i--) { System.out.print(""+a[i]); } } } 5.掌握嵌套类和内部类的概念和用法 编写一个程序要求定义一个外部类Outer,然后在Outer类中定义一个内部类Inner和局部类Local,内部类Inner和局部类Local的任务都是显示出外部类中的数组元素,然后求出这些数组元素的平均值。 请按模版要求,将代码补充完整。 classOuter{ privateintdata[]; Outer(intx[]){ data=x; } voidcheckInner(){ InnerinnerObj=newInner(); 【补充代码: innerObj.show();】//调用Inner对象的show()方法 System.out.println("内部类计算的平均值: "+innerObj.average()); } voidcheckLocal(){ classLocal{ voidshow(){ System.out.print("从局部类显示数组元素: "); for(inti=0;i System.out.print(data[i]+""); } System.out.println(); } intaverage(){ intsum=0; for(inti=1;i sum+=data[i]; } 【补充代码return(sum/data.length);】//返回data数组的平均值 } } LocallocalObj=newLocal(); localObj.show(); System.out.println("局部类计算的平均值: "+localObj.average()); } classInner{ voidshow(){ System.out.print("从内部类显示数组元素: "); for(inti=0;i 【补充代码system.out.print(““+data[i]);】//打印data数组的每个元素 } System.out.println(); } intaverage(){ intsum=0; for(inti=1;i sum+=data[i]; } returnsum/data.length; } } } publicclassInnerClassTest{ publicstaticvoidmain(String[]args){ inta[]={6,8,9,22,34,7,2,1,15}; OuterouterObj=newOuter(a); outerObj.checkInner(); 【补充代码outerObj.checkLocal();】//调用outerObj对象的checkLocal方法 } } 6.通过一个简单的例子理解多态的概念 /** *人民警察 */ publicinterfaceIPolice{ /** *抓小偷 */ publicvoidcatchThief(); } /** *一个警察,执行抓小偷任务. */ publicclassPoliceRealimplementsIPolice{ publicvoidcatchThief(){ System.out.println("抓住小偷了"); } } /** *另一个警察,也执行抓小偷任务. */ publicclassPoliceHypimplementsIPolice{ publicvoidcatchThief(){ System.out.println("大冷天的抓什么小偷啊,不如偷个菜."); } } /** *市民 */ publicclassCitizen{ privateStringmName; publicCitizen(Stringname){ mName=name; } /** *市民报案 */ publicvoidreport(IPolicepolice){ System.out.println(String.format("市民%s丢失手机,向警察报案抓小偷.",mName)); police.catchThief(); } } 案情: 市民虽然向警察报了案, 但你不知道能不能把小偷抓住, 甚至你都不知道他们有没有去抓小偷, 还有可能你在电影里看到的剧情真的发生了... 事情经过可能是这样: publicclassMain{ publicstaticvoidmain(String[]args){ Citizencitizen=newCitizen("张三"); IPolicepolice=getPolice(); citizen.report(police); } privatestaticIPolicegetPolice(){ returnnewPoliceReal(); } } 事情结果一: 市民张三丢失手机,向警察报案抓小偷. 抓住小偷了 事情经过也可能是这样: publicclassMain{ publicstaticvoidmain(String[]args){ Citizencitizen=newCitizen("张三"); IPolicepolice=getPolice(); citizen.report(police); } privatestaticIPolicegetPolice(){ returnnewPoliceHyp(); } } 事情结果二: 市民张三丢失手机,向警察报案抓小偷. 大冷天的抓什么小偷啊,不如偷个菜. 事情经过还可能是这样: publicclassMain{ publicstaticvoidmain(String[]args){ Citizencitizen=newCitizen("张三"); IPolicepolice=getPolice(); citizen.report(police); } privatestaticIPolicegetPolice(){ returnnewPoliceReal(){ @Override publicvoidcatchThief(){ System.out.println("抓小偷? 笑话,抓了小偷我哪儿收保护费去啊."); } }; } } 事情结果三: 市民张三丢失手机,向警察报案抓小偷. 抓小偷? 笑话,抓了小偷我哪儿收保护费去啊. 7.阅读并分析以下程序,将程序中的代码补充完整。 publicclassCalendarFrameextendsFrameimplementsActionListener {LabellabelDay[]=newLabel[42]; ButtontitleName[]=newButton[7]; Stringname[]={"日","一","二","三","四","五","六"}; ButtonnextMonth,previousMonth; intyear=2006,month=10; CalendarBeancalendar; LabelshowMessage=newLabel("",Label.CENTER); publicCalendarFrame() {PanelpCenter=newPanel(); 【代码1: pCenter.setLayout(newGridLayout(7,7));】//将pCenter的布局设置为7行7列的GridLayout布局。 for(inti=0;i<7;i++) {titleName[i]=newButton(name[i]); 【代码2: pCenter.add(titleName[i]);】//pCenter添加组件titleName[i]。 } for(inti=0;i<42;i++) { labelDay[i]=newLabel("",Label.CENTER); 【代码3: pCenter.add(labelDay[i]);】//pCenter添加组件labelDay[i]。 } calendar=newCalendarBean(); calendar.setYear(year); calendar.setMonth(month); Stringday[]=calendar.getCalendar(); for(inti=0;i<42;i++) {labelDay[i].setText(day[i]); } nextMonth=newButton("下月"); previousMonth=newButton("上月"); nextMonth.addActionListener(this); previousMonth.addActionListener(this); PanelpNorth=newPanel(), pSouth=newPanel(); pNorth.add(previousMonth); pNorth.add(nextMonth); pSouth.add(showMessage); showMessage.setText("日历: "+calendar.getYear()+"年"+calendar.getMonth()+"月"); ScrollPanescrollPane=newScrollPane(); scrollPane.add(pCenter); 【代码4: add(“Center”,scollPane);】//窗口添加scrollPane在中心区域 【代码5: add(“North”,pNorth);】//窗口添加pNorth在北面区域 【代码6: add(“South”,pSouth);】//窗口添加pSouth在南区域。 } publicvoidactionPerformed(ActionEvente) {if(e.getSource()==nextMonth) {month=month+1; if(month>12) month=1; calendar.setMonth(month); Stringday[]=calendar.getCalendar(); for(inti=0;i<42;i++) {labelDay[i].setText(day[i]); } } elseif(e.getSource()==previousMonth) {month=month-1; if(month<1) month=12; calendar.setMonth(month); Stringday[]=calendar.getCalendar(); for(inti=0;i<42;i++) {labelDay[i].setText(day[i]); } } showMessage.setText("日历: "+calendar.getYear()+"年"+calendar.getMonth()+"月"); } } 8.使用滚动条改变背景颜色 程序功能: 移动滚动条可以改变背景颜色。 阅读并分析以下程序,将程序中的代码补充完整。 publicclassKY7_2extendsAppletimplementsAdjustmentListener{ Scrollbarr1,r2,r3; intred,green,blue; TextFieldt; Labela; publicvoidinit(){ setLayout(null); r1=newScrollbar(Scrollbar.HORIZONTAL,0,1,0,255); r2=newScrollbar(Scrollbar.HORIZONTAL,0,1,0,255); r3=newScrollbar(Scrollbar.HORIZONTAL,0,1,0,255); t=newTextField("0",5); t.setEditable(false); a=newLabel("移动滚动条可改变背景颜色",Label.CENTER); add(a); a.setBounds(120,10,150,15); 代码1: add(r1);//添加滚动条r1 r1.setBounds(20,30,100,20); 代码2: add(r2);//添加滚动条r2 r2.setBounds(140,30,100,20); 代码3: add(r3);//添加滚动条r3 r3.setBounds(260,30,100,20); add(t); t.setBounds(20,120,220,18); r1.addAdjustmentListener(this); 代码4: r2.addAdjustmentListener(this); 代码5: r3.addAdjustmentListener(this); } publicvoidadjustmentValueChanged(AdjustmentEvente){ red=r1.getValue(); 代码6: green=r2.getValue(); 代码7: blue=r3.getValue(); t.setText("red的值"+String.valueOf(r1.getValue())+",green的值"+String.valueOf(r
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 复习题 完成