Java复习题已完成.docx

上传人:b****4 文档编号:12381001 上传时间:2023-04-18 格式:DOCX 页数:43 大小:84.09KB
下载 相关 举报
Java复习题已完成.docx_第1页
第1页 / 共43页
Java复习题已完成.docx_第2页
第2页 / 共43页
Java复习题已完成.docx_第3页
第3页 / 共43页
Java复习题已完成.docx_第4页
第4页 / 共43页
Java复习题已完成.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

Java复习题已完成.docx

《Java复习题已完成.docx》由会员分享,可在线阅读,更多相关《Java复习题已完成.docx(43页珍藏版)》请在冰豆网上搜索。

Java复习题已完成.docx

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 公务员考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1