2023年自考类计算机类(工学类)Java语言程序设计(一)历年高频考题带答案难题附详解_第1页
2023年自考类计算机类(工学类)Java语言程序设计(一)历年高频考题带答案难题附详解_第2页
2023年自考类计算机类(工学类)Java语言程序设计(一)历年高频考题带答案难题附详解_第3页
2023年自考类计算机类(工学类)Java语言程序设计(一)历年高频考题带答案难题附详解_第4页
2023年自考类计算机类(工学类)Java语言程序设计(一)历年高频考题带答案难题附详解_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

2023年自考类计算机类(工学类)Java语言程序设计(一)历年高频考题带答案难题附详解(图片大小可自由调整)第1卷一.历年考点试题黑钻版(共50题)1.以下是一个放幻灯片的应用程序,程序的界面中含一个面板子类P的对象和一个按钮对象b。设幻灯片已经装入内存,并存放于myImage数组中,幻灯片的张数存于变量num中。程序运行时,用户点击按钮b,按钮的监视方法循环更换幻灯片号curImage,并让系统调用P重定义的paintComponent()方法显示当前幻灯片。

intcurImage=0;finalintnum=30;

Image[]myImage=newImage[num];

//以下是类P内定义的两个方法

publicvoidactionPerformed(ActionEvente){

if(e.getSource()==b){

______;

curImage=(curImage+1)%num;

try{mythread.sleep(200);

}catch(InterruptedExceptione){}

}

}

publicvoidpaintComponent(Graphicsg){

if((myImage[curImage])!=null)

g.______(myImage[curImage],10,10,

myImage[curImage].getWidth(),

myImage[curImage].getHeight(),this);

}2.Java语言中,实现KeyListener接口的方法有:keyPressed(KeyEvente)、keyReleased(KeyEvente)和______。3.写出下面程序的功能。

publicclassTest32

{

publicstaticvoidmain(Stringargs[])

{

intnum=0;

for(inti=100;i<=999;i++)

if(i%10==8&&i%4==0)

num++;

System.out.println("共有"+num+"个");

}

}4.下面有关局部变量使用有误的是哪几句,为什么?

publicclassc34

{

publicstaticvoidmain(String[]args)

{

inta=2,b=3;

intf=add(a,b);

System.out.println("f="+f);

System.out.println("z="+z);

}

staticintadd(intx,inty)

{

publicintzz;

intz,d;

z=x+d;

returnz;

}

}5.下面程序运行后显示一个窗口,在窗口中有一个按钮和一个标签,单击按钮,标签中显示按钮被单击的次数,请完成程序。

importjava.awt.*;

importjavax.swing.*;

importjava.awt.event.*;

classmyFrameextendsJFrameimplementsActionListener

{

JButtonbutton;

JLabellabel;

myFrame(Strings)

{

super(s);

Containercon=______;

setLayout(newFlowLayout());

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setSize(300,400);

button=newJButton("OK");

label=newJLabel("0");

con.add(button);con.add(label);

button.addActionListener(this);

setVisible(true);

}

publicvoidactionPerformed(ActionEvente)

{

intn=______;

n++;

label.setText(""+n);

}

}

publicclassC2801

{

publicstaticvoidmain(String[]args)

{

newmyFrame("我的窗口");

}

}6.简述画多边形的两个常用方法。7.阅读下列程序,请写出该程序的输出结果。

publicclassTest35{

publicstaticvoidmain(String[]args){

System.out.println("开始:");

MyThreadx=newMyThread(1000,"girl");

MyThready=newMyThread(300,"boy");

x.start();y.start();

while(x.isAlive()||y.isAlive());

System.out.println("结束.");

}

}

classMyThreadextendsThread{

intdt;

Stringname;

publicMyThread(intc,Stringn){

dt=c;name=n:

}

publicvoidrun(){

MyResourceClass.outMsg(this);

}

}

classMyResourceClass{

synchronizedstaticvoidoutMsg(MyThreadth){

System.out.println(th.name+"

"+"启动.");

for(inti=0;1<2;1++){

System.out.println(th.name+"第"+i+"次活动.");

try{

Thread.sleep(th.dt);

}catch(InterruptedExceptione){}

}

System.out.println(+""+"活动完成,");

}

}8.以下程序代码的输出结果是______

System.out.println(100/8);A.12.5B.12C.4D.09.线程在生命周期中要经历5种状态,分别是新建状态、就绪状态、运行状态、______状态和死亡状态。10.当在一个容器中添加了多个选择框,且使用ButtonGroup将它们归为某一组时,则在这一组中,在一个时刻被选中的选择框有______A.1B.2C.4D.任意11.下面有关临界段叙述错误的是______A.多线程互斥使用共享资源的程序段被称为临界段B.临界段是一种加锁机制,与多线程共享资源有关C.临界段的作用是在任何时刻一个共享资源只能供一个线程使用D.如果一个线程已进入某个共享资源的临界段,且还没有使用结束,其他进程可抢占这个共享的资源12.阅读以下程序代码,程序打印输出的结果是什么?

publicclassClass35

{

publicstaticvoidmain(String[]args)

{

Strings1=newString("abcdefg"),s2="abcdefg";

System.out.prinln(s1==s2);

System.out.prinln(s1.equals(s2));

System.out.println(s1.endsWith(s2)==s1.startsWith(s2));

}

}13.阅读下列程序,写出程序运行结果。

interfaceComputable

{

finalintMAX=100;

intf(intx);

intg(intx,inty);

}

ClassAaimplementsComputable

{

intno;

publicintf(intx)

{

intsum=0;

for(inti=1;i<=x;i++)sum=sum+i;

returnsum;

}

publicintg(intx,inty){returnx*y;}

}

classBbimplementsComputable

{

intno;

publicintf(intx)

{

intsum=0;

for(inti=1;i<=x;i++)sum=sum+i%i;

returnsum;

}

publicintg(intx,inty){returnx+y;}

}

publicclassClass3204

{

publicstaticvoidmain(String[]args)

{

Aali;Bbtom;

li=newAa();li.no=851898;

tom=newBb();tom.no=951899;

System.out.print("Li的编号"+li.no+","+li.MAX);

System.out.println(","+li.f(3)+","+li.g(3,4));

System.out.print("Tom的编号"+tom.no+","+tom.MAX);

System.out.print(","+tom.f(3)+","+tom.g(3,4));

}

}14.______布局是把容器内的空间简单地划分为东西南北中五个区域。15.简述程序处理列表双击事件时,与列表双击动作事件相关的接口,注册监视器的方法及要实现的接口方法。16.下面程序运行后显示一个窗口,在窗口中添加一个按钮,请完成程序。

importjavax.swing.*;

publicclassClass27{

publicstaticvoidmain(String[]args)

{

JFramewindow=newJFrame("我的窗口")

windowsetSize(300,400);

JButtonbutton=newJButton("我是按钮")

window.______.add(button);

window.______;

}

}17.在以下供选的关键字中,能用于定义常值变量的是______A.finalB.staticC.protectedD.super18.处理键盘事件的Java程序,要实现的接口是______。19.阅读下列程序,请写出该程序的功能。

importjava.io.*;

publicclassFileTest

{

publicstaticvoidmain(String[]args)

{

try

{

RandomAccessFileFile=null;

file=newRandomAccesFile("FileTest.java","r");

longpointer=0;

longfileLength=filelength();

while(pointer<filelength());

{

Strings=file.readLine();

System.out.println(s);

pointer=file.getFilePointer();

}

file.close();

}

catch(FileNotFoundExceptione1)

{

System.out.printl.n("文件找不到!"+e1);

}

catch(IOExceptione2)

{

System.out.println("文件读写错!"+e2);

}

}

}20.阅读下列程序,画出程序运行后初始界面并写出程序功能。

importjava.applet.*;

importjava.awt.*;

importjava.awt.event.*;

publicclassClass3603extendsAppletimplementsActionListener

{

AudioClipclip;

ButtonbuttonPlay,buttonLoop,buttonStop;

publicvoidinit()

{

clip=getAudioClip(getCodeBase(),"WindowsXP关机.wav");

buttonPlay=newButton("start");

buttonLoop=newButton("loop");

buttonStop=newButton("stop");

buttonPlay.addActionListener(this);

buttonStop.addActionListener(this);

buttonLoop.addActionListener(this);

setSize(300,100);

add(buttonPlay);add(buttonLoop);add(buttonStop);

}

publicvoidstop()

{

clip.stop();

}

publicvoidactionPerformed(ActionEvente)

if(e.getSource()==buttonPlay){clip.play();}

elseif(e.getSource()==buttonLoop){clip.loop();}

if(e.getSource()==buttonStop){clip.stop();}

}

}21.在Java语言中,文字字型有三个要素,分别是

A.字体、字形和字号B.字形、颜色和字号C.字体、风格和字号D.字体、字形和颜色22.回文整数是指正读和反读都一样的整数。方法fun(intn)的功能是判断十进制整数n是否为回文整数。例如:n=456654,该方法返回值为true;n=456,该方法返回值为false。

booleanfun(intn)

{

IntegerM=n;

Strings=______;

inti=0;

while(i<s.length()/2)

}

Strings1,s2;

s1=s.substring(i,i+1);

s2=s.substring(s.length()-i-1,s.length()-i);

if(!(______))break;

i++;

}

if(i<s.length()/2)returnfalse;

elsereturntrue;

}23.要作下列数据类型转换,需进行强制类型转换才能实现的是______A.从int到charB.从int到longC.从float到doubleD.从byte到int24.设Thread对象thd的优先级为7,thd又创建了另一个Thread对象chd,如果未对chd的优先级进行修改,则chd的优先级为

A.1B.5C.7D.1025.阅读下列程序,写出程序功能。

importjava.applet.*;

importjava.awt.*;

importjava.awt.event.*;

publicclassClass36004extendsAppletimplementsKeyListener

{

intcount=0;

TextAreatext=newTextArea(5,20);

publicvoidinit()

{

add(text);

text.addKeyListener(this);

}

publicvoidkeyPressed(KeyEvente)

{

intt=e.getKeyCode();

if(t>=KeyEvent.VK_0&&t<=KeyEvent.VK_9)

{

text.appeqd("*");count++;

if(count%10==0)text.append("\n");

}

else

text.setEditable(false);

publicvoidkeyTyped(KeyEvente){}

publicvoidkeyReleased(KeyEvente){}

}26.以下程序代码的输出结果是______

intx=11;

do{

System.out.print("Z");x--;

}while(x>7);A.zzzB.zzzzzC.zzD.zzzz27.Java语言中,在类定义时用final关键字修饰,是指这个类

A.不能被继承B.在子类的方法中不能被调用C.能被别的程序自由调用D.不能被子类的方法覆盖28.以下代码的输出结果是______

System.out.println(1+2+"aa"+3);A.12aa3B.3aa3C.12aaD.代码有语法错29.在Swing中,带有滚动条的面板的类名是______。30.处于运行状态的线程执行yield()方法,该线程将进入______状态。31.以下代码定义了一个类,请指出其中三条不合法的代码行(行号参见注释)。

classTest22{

//1

floatu;staticfloatv;

//2

staticvoidsetUV(booleanf){

//3

u=fac1(f);

//4

v=fac2(!f);}

//5

staticfloatfac1(booleanf){returnf?u:v;}

//6

floatfac2(booleanf){returnf?v:u;}

//7

}

//832.下列哪个对象用于存储lP地址和域名______A.InetAddress对象B.URLConnection对象C.URL对象D.TCP/IP对象33.在Java程序中有如下设置:setBackground(Color.blue);g.setXORMode(Color.red);g.setColor(Color.blue);g.drawLine(300,300,500,500);,则线的颜色是______。34.请写出URL对象能实现的功能。35.获取文本框的文本的方法是______A.setEchochar()B.setText()C.Textfield()D.getText()36.下列有关抽象方法及抽象类的叙述错误的是______A.使用abstract修饰的方法是抽象方法B.使用final修饰的类是抽象类C.抽象类可以没有抽象方法,但有抽象方法的类一定是抽象类D.抽象类必须被继承才能使用,抽象类不可能有实例37.调用______方法能统计出字符串分析器中一共有多少个单词。38.编写一个方法array3701(),要求该方法有一个元素类型为int的数组参数,方法返回一个新数组,新数组的长度与参数数组的长度相同,而新数组元素的值和参数数组各元素的值首尾颠倒。39.设有字符串Strings="ABCDEFGABC";,则表达式s.indexOf("A",7)的值是______A.7B.6C.3D.040.Applet程序运行时,画线可调用的方法是______A.drawStringB.drawLineC.drawRectD.drawRoundRect41.阅读下列程序,请写出该程序的功能。假定图像文件apple.gif、banana.gif、pear.gif和watermelon.gif已经存放在当前目录中。

importjava.awt.*;

importjava.awt.event.*;

importjavax,swing.*;

publicclassTest34extendsJAppletimplementsItemListener{

Imageimage=null;

JPanelp;

publicvoidinit(){

ContainercontentPane=getContentPane();

contentPane,setLayout(newFlowLayout());

JComboBoxjc=newJComboBox();

jc.addltem("apple");jc.addItem("banana");

jc.addItem("pear");jc.addItem("watermelon");

jc.addItemListener(this);

contentPane,add(jc);

p=newJPanel(

);

contentPane,add(p);

}

publicvoidpaint(Graphicsg){

if(image!=null)

g.drawlmage(image,0,0,this);

}

publicvoiditemStateChanged(ItemEventie){

Strings=(String)ie.Gethem();

image=getImage(getCodeBase(),s+".gif");

repaint();

}

}42.下面供选字符序列中,不属于Java语言关键字的是

A.gotoB.nullC.falseD.native43.用类JFileChooser对象可打开和保存文件对话框,程序能从该对话框获得______A.用户选择的文件的长度B.用户选择的文件名C.文件对象D.用户选择的文件内容44.阅读下列程序,请写出该程序的输出结果。

classMyThreadextendsThread{

Stringmessage,ints;

MyThread(Stringmessage,intsec){this.message=message;s=sec;

publicvoidrun(){

try{sleep(s);}catch(InterruptedExceptione){}

System.out.println(message+""+getPriority());

}

}

classThreadTest{

publicstaticvoidmain(Stringargs[]){

Threadfoo=newMyThread("Foo",1000);

foo.setPriority(Thread.MIN_PRIORITY);foo.start();

Threadbar=newMyThread("Bar",800);

bar.setPriority(3);bar.start();

Threadgar=newMyThread("Gar",400);

gar.setPriority(7);gar.start();

Threadkar=newMyThread("Kar",100);

kar.setPriority(Thread.MAX_PRIORITY);kar.start();

}

}

注:假设处理机中没有其他线程占用资源。45.阅读下列程序,写出程序运行结果。

classA1

{

publicvoidf(intaa,intbb)

{

System.out.println(aa+bb);

}

}

classA2extendsA1

{

publicvoidf(intaa,intbb)

{

System.out.println(aa-bb);

}

}

publicclassC3201extendsA2

{

publicvoidf(intaa,intbb)

{

System.out.println(aa*bb);

}

publicstaticvoidmain(String[]args)

{

A1a=newAl();

A1a1=newA2();

A2a2=newC3201();

a.f(20,10);

a1.f(20,10);

a2.f(20,10);

}

}46.文本框处理程序的基本内容有哪几个方面。47.请编写方法intcountChar(Strings),该方法的功能是统计已知字符串s中字母的个数。例如:countChar("A1Bd56D")的返回值为4。48.编写方法intsearchMaxNumIndex(int[]a),寻找已知数组中最大数的下标并返回。49.当图像信息量较大时,为了避免出现斑驳现象,提高显示效果,许多应用程序都采用______技术。50.下列有关事件监视器的说法正确的是

A.一个组件上不可以注册多个事件监视器B.一个事件监视器可以被注册到多个组件上C.一个组件上注册多个事件监视器会发生冲突,不会起作用D.一个组件上注册多个事件监视器,只有最后一个事件监视器会起作用第1卷参考答案一.历年考点试题黑钻版1.参考答案:repaint()

drawImage2.参考答案:keyTyped(KeyEvente)3.参考答案:程序的功能是:统计个位数是8,并且能被4整除的三位数共有多少个。[考点]Java语句和运算[解析]程序循环遍历100~999,即所有的三位数,i%10获得的是该三位数的个位数,i%4==0即判断该数能否被4整除。4.参考答案:第8行错,z在add方法内,离开add则被清除。

第13行错,在局部变量zz前误加了public修饰符。

第15行错,因为d还没有赋值就使用。[考点]局部变量[解析]局部变量只在定义它的方法内有效,变量只有初始化后才能使用。5.参考答案:getContentPane()

Integer.parselnt(label.getText())6.参考答案:(1)drawPolygon(intx[],inty[],intn),用x、y数组对应的n对元素值作为n个点坐标,画一个多边形。

(2)fillPolygon(intx[],inty[],intn),用x、y数组对应的n对元素值作为n个点坐标,画一个多边形,并对这个多边形使用setColor()方法设置的颜色进行着色。7.参考答案:开始:

girl启动.

girl第0次活动.

girl第1次活动.

girl活动完成.

boy启动.

boy第0次活动.

boy第1次活动.

boy活动完成,

结束.8.参考答案:B[考点]本题主要考查的知识点为为Java运算符。

“/”为除法运算符,当除数和被除数均为整数类型时,结果也是整数类型。9.参考答案:阻塞10.参考答案:A[考点]单选框[解析]如果没用ButtonGroup对象将它们分组,则可以同时选中多个选择框;如果分组了,则只能选一个。11.参考答案:D[考点]本题主要考查的知识点为Java临界段概念。

如果一个线程已进入某个共享资源的临界段,且还没有使用结束,其他进程必须等待。12.参考答案:false,true,true[考点]String类API[解析]==和equals的区别:==是判断两个字符串对象是否是同一个对象,即两个对象的内存地址是否相同;equals是判断两个字符串的值是否相同。题目中s2相当于一个值,而s1是指向这个值的引用,它代表的值和s2是一样的。endsWith()和startsWith()是String类的两个方法,分别判断前一个字符串是否以后一个字符串结束或者开始,它们的返回类型为boolean类型。s1和s2的值相等,所以这两个方法的返回值都是true,即相等。注意区分字符串中的等号和普通类型的等号。13.参考答案:运行结果:

Li的编号851898,100,6,12

Tom的编号951899,100,14,714.参考答案:BorderLayout15.参考答案:相关接口是ActionListener,注册监视器的方法是addActionListener(this),在接口中要实现的方法是publicvoidactionPerformed(ActionEvente)。16.参考答案:getContentPane()

setVisible(true)[考点]框架窗口[解析]Swing容器都可以添加组件,除了JPanel及其子类之外,其他的Swing容器不允许把组件直接加入。可以通过getContentPane()方法获得内容面板,再将组件加入。而SetVisible(Booleanb)可以设置窗口是否可见。17.参考答案:A[解析]用final修饰变量,声明该变量的值不能被改变。不能被改变的变量相当于一个常量。18.参考答案:KeyListener19.参考答案:该程序的功能:应用程序逐行读取自身的源代码并显示。[考点]文件随机访问[解析]RandomAccessFile类创建的流既可以随机输出也可以随机访问。程序首先利用自己的Java文件创建一个RandomAccessFile类对象,通过循环判断是否对到文件末尾,然后依次读取文件中的一行字节。20.参考答案:程序运行后初始界面如下:

程序功能:单击start按钮开始播放“WindowsXP关机.wav”声音文件一次,单击loop按钮将循环播放“WindowsXP关机.wav”,单击stop按钮将停止播放。21.参考答案:C[解析]主要考查的知识点为Java语言中文字字型的三要素。[要点透析]文字字型有三个要素:字体、风格和字号。常用的字体有TimesNewRoman、Symbol、宋体和楷体等。常用的风格有正常、粗体和斜体,分别用三个常量表示:Font.PLAIN、Font.BOLD和Font.ITALIC,风格可以组合使用。字号是字的大小,单位是磅。22.参考答案:M.toString()

s1.equals(s2)[考点]字符串[解析]传入的参数是整数,需要将其转为字符串(M.toString()),然后通过循环依次取第一和最后一个字符比较是否相等,第二个和倒数第二个比较是否相等,依次类推,如果都相等(此时会循环到字符串的中间)则是回文;有一个不相等则跳出循环(此时还没有循环到字符串的中间),相应判断出该数不是回文。23.参考答案:A[解析]自动转换只能是简单类型向复杂类型转换,不能从复杂的转换成简单的。即如下所示的从左到右转换:byte→short→int→long→float→double。24.参考答案:C[解析]线程创建时,子线程继承父线程的优先级。25.参考答案:程序功能:小应用程序窗口中有一个文本框,只能在文本中输入数字,且数字显示为“*”号,每10个*号换行。不能输入别的任何内容,包括退格键和删除键。26.参考答案:D[解析]do...while语句的执行过程是:(1)执行循环体。(2)求循环条件表达式的值。(3)当值为true时,转步骤(1);当值为false时,结束循环。本题中,循环体执行到第4次后,x的值为7,此时循环条件表达式的值为false,结束循环。故本题的答案为D。27.参考答案:A[解析]在类声明之前用final修饰,声明类是final类,final类是不能被再继承的类,即它不能再有子类。28.参考答案:B29.参考答案:JScrollPane30.参考答案:就绪31.参考答案:4,5,6行错误[解析]u为实例变量,v、f为类变量。第4行的错误在于类方法中不能引用实例变量。第5行的错误在于类方法不能直接调用实例方法。第6行错误,因为类方法只能引用类变量。32.参考答案:A[考点]InetAddress类[解析]InetAddress类的对象用于存储IP地址和域名。33.参考答案:红色34.参考答案:实现Internet寻址、网络资源的定位连接、在客户机与服务器之间直接访问。35.参考答案:D[考点]文本框[解析]getText()方法用于获得文本框的内容。36.参考答案:B[考点]抽象类和抽象方法[解析]抽象类和抽象方法都是用abstract修饰的。抽象类只声明一个模板,没有具体实现的代码。抽象方法只能出现在抽象类中,只声明了方法头部,没有实现方法功能的代码。使用final修饰的类、方法和变量都是不可再改变的。final类不能被继承,final方法不能被子类的方法覆盖。37.参考答案:countTokens()38.参考答案:int[]array3701(inta[])

{

intx[]=newint[a.length];

for(inti=0;i<a.len

温馨提示

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

最新文档

评论

0/150

提交评论