admin 管理员组文章数量: 1184232
2024年3月13日发(作者:swiper跳转指定swiper)
2015年4月全国自考Java语言程序设计
2015年4月全国自考Java语言程序设计(一)考前密卷04747(含答案)
一、单项选择题(本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一
个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
第1题 Java语言约定,显示屏上一个长方形区域为程序绘图区域,坐标原点(0,0)位于整个区域
的()
A. 中心
B. 左上角
C. 右上角
D. 自由设定
【正确答案】 B
【你的答案】
本题分数 1 分
第2题 当用户在文件对话框中选择了文件并按下了“打开/保存”按钮后,程序可利用一个方法取得
文件对象,并针对这个对象使用getName()取得文件名,使用getPath()取得文件的路径,则这个方法
是()
A. getFile()
B. getSelectFile()
C. getSelectedFile()
D. getDescription()
【正确答案】 C
【你的答案】
本题分数 1 分
第3题 在Java语言的包中,用于语言符号(单词)分析的类是()
A. stringTokenizer
B. StringTokenizer
C. ToKenizer
D. tokenizer
【正确答案】 B
【你的答案】
本题分数 1 分
2015年4月全国自考Java语言程序设计
第4题 在Java语言中,一般不作为容器使用的是()
A. JDialog
B. JFrame
C. JTextArea
D. JPanel
【正确答案】 C
【你的答案】
本题分数 1 分
第5题 为8位字节流数据提供读操作支持的类是()
A. FileInputStream
B. FileOutputStrem
C. FileReader
D. FileWriter
【正确答案】 A
【你的答案】
本题分数 1 分
第6题 下列代码中,错误的Java整型常量是()
A. 007
B. 008
C. 0x3AA
D. 0x3AB
【正确答案】 B
【你的答案】
本题分数 1 分
第7题 下列有关事件监视器的说法正确的是()
A. 一个组件上不可以注册多个事件监视器
B. 一个事件监视器可以被注册到多个组件上
C. 一个组件上注册多个事件监视器会发生冲突,不会起作用
D. 一个组件上注册多个事件监视器,只有最后一个事件监视器会起作用
【正确答案】 B
2015年4月全国自考Java语言程序设计
【你的答案】
本题分数 1 分
第8题 一个实现Runnabel接口的类必须要实现的方法是()
A. start()
B. run()
C. sleep()
D. init()
【正确答案】 B
【你的答案】
本题分数 1 分
第9题 当线程A使用某个对象,而此对象又需要线程B修改后才能符合A线程的需要,这时线程A
就要等待线程B完成修改工作,这种现象称为()
A. 线程的同步
B. 线程的互斥
C. 线程的调度
D. 线程的就绪
【正确答案】 A
【你的答案】
本题分数 1 分
第10题 在Java语言中,支持网络通信的软件所在的包是()
A.
B.
C.
D. et
【正确答案】 B
二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、
不填均无分。
第1题 在 Java 中所有实现的多维数组,实际上是由一维数组构成的___。
2015年4月全国自考Java语言程序设计
【正确答案】 (P71)数组的数组
【你的答案】
本题分数 2 分
你的得分
第2题 题中横线处答案为:___
修改分数
【正确答案】 (P70)5
【你的答案】
本题分数 2 分
你的得分
修改分数
第3题 流使用结束后,关闭流并且释放与该流相关的资源,用___方法。
【正确答案】 (P177)close()
【你的答案】
本题分数 2 分
你的得分
修改分数
第4题 Java语言提供一个Graphics2D类,这个类定义了几种方法用于添加或改变图形的状态属性,
其中___属性控制线条的宽度、笔形样式、线段连接方式或短划线图案。
【正确答案】 (P145)stroke
【你的答案】
2015年4月全国自考Java语言程序设计
本题分数 2 分
你的得分
修改分数
第5题 在Java语言中,整型常量有十进制、八进制和十六进制三种写法,其中八进制是以数字字符
0开头,十六进制是以___开头。
【正确答案】 (P10)0x
【你的答案】
本题分数 2 分
你的得分
第6题 以下代码的输出结果是___。
n(5>4||3<4);
修改分数
【正确答案】 (P15)true
【你的答案】
本题分数 2 分
你的得分
修改分数
第7题 采用___布局的容器中多个组件拥有同一个显示空间,某一时刻只能显示一个组件。
【正确答案】 (P100)CardLayout
【你的答案】
本题分数 2 分
你的得分
修改分数
第8题 Java小程序要播放一个与程序文件在一起的名为的音乐文件,小程序中应用先创
建AudioClip对象,若对象名为myClip,则创建对象myClip的代码为___。
2015年4月全国自考Java语言程序设计
【正确答案】
(P154)AudioClip myClip=getAudioClip(getCodeBase(),"");
【你的答案】
本题分数
2 分
你的得分
第9题 ___将显示区域按行、列划分成一个个大小相等的格子,组件依次放入这些格子中。
【正确答案】 (P98)GridLayout
[解析]常用的布局类:FlowLayout为依次放置组件;BorderLayout将组件放置在边界
修改
分数
上; CardLayout将组件像扑克 牌一样叠放,而每次只能显示其中的一个组件;GridLayout
将显示区域按行、列划分成一个个大小相等的格子,组件依次放入这些格子 中;
GridBagLayout能进行更精细的位置控制。
【你的答案】
修
改
分
数
本题
分数
2 分
你的得分
第10题 Java小应用程序中,为了在Java页面上显示动态效果,需要使用___方法,该方法先清除
paint()方法以前所画的内容,然后再调用paint()方法。
【正确答案】 (P63)repaint()
【你的答案】
三、程序填空题(本大题共5小题,每空2分,共20分)
第1题 下面小应用程序启动后自动播放一个声音文件“”。
import .*;
public class Class3001 extends Applet
2015年4月全国自考Java语言程序设计
{
public void start()
{
___=getAudioClip(getCodeBase(),"");
clip.___;
}
}
【正确答案】 AudioClip clip
play()
【你的答案】
本题分数 2 分
你的得分
修改分数
第2题 下列应用程序,产生两个组合框,一个可以选择月份,一个可以选择2000~2009年之间的年份。
import .*;
public class Class31002 extends JFrame
{
JComboBox monthBox=new JComboBox();
___
public Class31002()
{
super("Expiration Date");
setSize(240,90);
setDefaultCloseOperation(_ON_CLOSE);
JPanel pane=new JPanel();
JLabel exp=new JLabel("Expiration Date:");
for (int i=0;i<13;i++) m(" "+i);
for(int i=2000;i<2010;i++) m(" "+i);
(exp);
(monthBox);
___
setContentPane(pane);
}
public static void main(String[]arg)
{
new Class31002().setVisible(true);
}
}
2015年4月全国自考Java语言程序设计
【正确答案】 JComboBox yearBox=new JComboBox();
(yearBox)
【你的答案】
本题分数 2 分
你的得分
第3题 以下小应用程序运行后显示一幅图片。
import .*;
import .*;
public class Class3005 extends Applet
{
Image myImg;
public void start()
{
myImg=___(getCodeBase(),"");
}
public void paint(Graphics g)
{
g.___(myImg,0,0,this);
}
}
【正确答案】 getImage
drawImage
【你的答案】
本题分数 2 分 修改分数
你的得分
第4题 方法f2702(int n)返回2~n之间的所有质数的个数。
int f2702(int n)
{
int i,j,count=0;
for(i=2;i<=n;i++)
{
修改分数
2015年4月全国自考Java语言程序设计
for(j=2;j
if (i%j==0)___
if(j==i)___;
}
return count;
}
【正确答案】 break;
count++
【你的答案】
本题分数 2 分
你的得分
修改分数
第5题 下面程序运行后,连续输出20个相同的单词。请完成程序。
public class C3102
{
public static void main(String args[])
{
___
();
}
}
class Hello implements Runnable
{
int i=0;
public void run()
{
while(___)
{
(i+":Hello");
}
}
}
【正确答案】 Thread t=new Thread(new Hello());
i++<20
【你的答案】
2015年4月全国自考Java语言程序设计
四、程序分析题(本大题共5小题,每小题4分,共20分)
第1题 写出下面程序的运行结果。
public class Class34ThreadTest
{
public static void main(String args[])
{
Hello h=new Hello();
Thread t=new Thread(h);
();
}
}
class Hello implements Runnable
{
int i;
public void run()
{
while(true)
{
n("Hello"+i++);
if(i==5) break;
}
}
}
【正确答案】 输出结果为:
Hello0
Hello1
Hello2
Hello3
Hello4
【你的答案】
本题分数 4 分
你的得分
修改分数
2015年4月全国自考Java语言程序设计
第2题 阅读程序,画出程序运行后的界面并写出程序的功能。
import .*;
import .*;
import .*;
public class Class3601 implements AdjustmentListener
{
JScrollBar myBar;
JLabel label;
public Class3601(String s)
{
JFrame myWin=new JFrame(s);
Container con=tentPane();
out(new GridLayout(2,1));
myBar=new JScrollBar(NTAL,5,20,0,300);
label=new JLabel(""+ue(),);
ustmentListener(this);
(label);
(myBar);
e(300,100);
ible(true);
}
public void adjustmentValueChanged(AdjustmentEvent e)
{
t(""+ustable().getValue());
}
public static void main(String[] args)
{
new Class3601("Class3601");
}
}
【正确答案】 程序运行后的界面如下:
程序的功能是:拖动滑块,在上面的标签中间显示滑块的当前值,范围为0~280。
【你的答案】
2015年4月全国自考Java语言程序设计
本题分
数 4 分
你的得分
第3题 阅读下面程序,写出程序功能。
import .*;import .*;
public class Class3602 extends Applet implements Runnable
{
Thread redBall,blueBall;Graphics redPen,bluePen;
int blueSeta=0,redSeta=0;
public void init()
{
setSize(250,200);
redBall=new Thread(this);blueBall=new Thread(this);
redPen=getGraphics();bluePen=getGraphics();
or();or();
setBackground();
}
public void start()
{
();();
}
public void run()
{
int x,y;
while(true)
{
if(tThread()==redBall)
{
x=(int)(80.0*(3.1415926/180.0*redSeta));
y=(int)(80.0*(3.1415926/180.0*redSeta));
or();
al(100+x,100+y,10,10);
redSeta +=3;
if(redSeta>=360) redSeta=0;
x=(int)(80.0*(3.1415926/180.0*redSeta));
y=(int)(80.0*(3.1415926/180.0*redSeta));
or();
al(100+x,100+y,10,10);
try {(20);}
catch(InterruptedException e){}
}
else if (tThread()==blueBall)
{
x=(int)(80.0*(3.1415926/180.0*blueSeta));
修改
分数
2015年4月全国自考Java语言程序设计
y=(int)(80.0*(3.1415926/180.0*blueSeta));
or();
al(150+x,100+y,10,10);
blueSeta-=3;
if(blueSeta<=-360) blueSeta=0;
x=(int)(80.0*(3.1415926/180.0*blueSeta));
y=(int)(80.0*(3.1415926/180.0*blueSeta));
or();
al(150+x,100+y,10,10);
try {(40);}
catch(InterruptedException e){}
}
}
}
}
【正确答案】 程序功能:小应程序创建两个线程,一个顺时针画圆,一个逆时
针画圆。
【你的答案】
本题分数 4
分
你的得分
第4题 阅读下面程序,写出程序运行结果。
class printer
{
synchronized void printchar(char ch)
{
for (int i=1;i<=3;i++)(ch);
n();
}
}
class printerThread extends Thread
{
printer ptr;
char ch;
printerThread(printer ptr,char ch)
{
=ptr;
=ch;
}
修改分
数
2015年4月全国自考Java语言程序设计
public void run()
{
for (int i=1; i<=3;i++)har(ch);
}
}
public class Class3605
{
public static void main(String[] args)
{
printer ptr=new printer();
printerThread pt1=new printerThread(ptr,?A?);
printerThread pt2=new printerThread(ptr,?B?);
();
();
}
}
【正确答案】 程序运行结果:
AAA
AAA
AAA
BBB
BBB
BBB
[解析]本程序当两个循环次数改为30时,输出结果将不再是先所有行都是A,然
后所有行都是B,会出现若干行A,若干
行B,再若干行A,若干行B的情况,那是因为两个线程在同时运行且运行次数比较
多,CPU在分时为它们服务,循环次数
少分时体现不出来,CPU的一个时间单位一个线程就已经完成了。即使是循环30次,
但也不会出现一行中既有A又有B的情
况,这是因为输出字符的方法printchar()被synchronized修饰,任何时刻都只能
有一个线程使用printchar(),在一行
中不会输出一部分A一部分B,如果把synchronized去掉,则会出现这种情况。
【你的答案】
2015年4月全国自考Java语言程序设计
本题分数
4 分
你的得分
第5题 阅读下列程序,写出程序运行结果。
import .*;
import .*;
public class C3502 implements MouseMotionListener
{
JTextField text=new JTextField(30);
C3502()
{
JFrame myWin=new JFrame("Ex0611");
aultCloseOperation(_ON_CLOSE);
nds(100,100,300,100);
tentPane().add(text,"North");
seMotionListener(this);
ible(true);
}
public void mouseDragged(MouseEvent e)
{
int x=(),y=();
t("拖动鼠标,鼠标坐标为:"+x+","+y);
}
public void mouseMoved(MouseEvent e)
{
int x=(),y=();
t("移动鼠标,鼠标坐标为:"+x+","+y);
}
public static void main(String[] args)
{
new C3502();
}
}
修改
分数
【正确答案】 程序功能:这是一个演示鼠标拖动和移动的程序。界面有一个文本框,当鼠标拖动或
移动时,在文本区中输出鼠标是鼠标拖动还是鼠标移动,及鼠标位置坐标。
【你的答案】
五、程序设计题(本大题共2小题,每小题6分,共12分)
2015年4月全国自考Java语言程序设计
第1题 编写一个方法hex3704(),要求将一个十进制正整数n转换成十六进制数,其中n为方法参数,
十六进制数以字符串(如有字母用大写)的形式返回。
while(--i>=0)
{
str=str+(c[i]<10?c[i]:s[c[i]-10]);
}
return str;
}
[解析]完整的程序如下:
public class Class3704
{
static String hex3704(int n)
{
int c[]=new int[8];//整型n转换成十六进制最多8位
int i=0;
while(n>0)
{
c[i++]=n%16;//余数按顺序放入c数组
n=n/16;
}
String s[]={"A","B","C","D","E","F"},str="";
while(--i>=0)//逆序取c中数据,9以上转化为大写字母
{
str=str+(c[i]<10?c[i]:s[c[i]-10]);
}
return str;
}
public static void main(String[] args)
{
n(hex3704(269));
}
}
输出结果:10D" />
【正确答案】 String hex3704(int n)
{
int c[]=new int[8];
int i=0;
while(n>0)
{
c[i++]=n%16;
2015年4月全国自考Java语言程序设计
n=n/16;
}
String s[]={"A","B","C","D","E","F"},str="";
while(--i>=0)
{
str=str+(c[i]<10?c[i]:s[c[i]-10]);
}
return str;
}
[解析]完整的程序如下:
public class Class3704
{
static String hex3704(int n)
{
int c[]=new int[8];//整型n转换成十六进制最多8位
int i=0;
while(n>0)
{
c[i++]=n%16;//余数按顺序放入c数组
n=n/16;
}
String s[]={"A","B","C","D","E","F"},str="";
while(--i>=0)//逆序取c中数据,9以上转化为大写字母
{
str=str+(c[i]<10?c[i]:s[c[i]-10]);
}
return str;
}
public static void main(String[] args)
{
2015年4月全国自考Java语言程序设计
n(hex3704(269));
}
}
输出结果:10D
【你的答案】
本题分数 6 分
你的得分
修改分数
第2题 设计一个应用程序,原始数据从程序界面的一个文本区输入,用户点击按钮后,在另一个文本
区上输出排序后的数据,并将排序后的数据输出到文件中。已给出部分代码,请完成程序。
import .*;
import .*;
import .*;
import .*;
import .*;
public class Class3805 implements ActionListener
{
JTextArea ta1=new JTextArea(10,20);
JTextArea ta2=new JTextArea(10,20);
JButton butt=new JButton("SortAndSave");
public static void main(String[] args)
{
new Class3805();
}
public Class3805()
{
JFrame myWin=new JFrame("Class3805");
aultCloseOperation(_ON_CLOSE);
Container con=tentPane();
out(new FlowLayout());
kground();
(ta1);(butt);(ta2);
nds(200,200,600,300);
ionListener(this);
ible(true);
}
public void actionPerformed(ActionEvent e)
{
//这里是你要编写的代码
}
}
2015年4月全国自考Java语言程序设计
int n=okens();
int a[]=new int[n];
int i=-1,j;
while(++i { a[i]=nt(ken()); } for(i=0;i for(j=i+1;j { if(a[i]>a[j]) {int t=a[i];a[i]=a[j];a[j]=t;} } for(i=0;i { (a[i]+" "); } RandomAccessFile out=null; try { out=new RandomAccessFile("","rw"); ytes(t()); } catch(FileNotFoundException e1){} catch(IOException e2){}" /> 【正确答案】 String s=t(); StringTokenizer str=new StringTokenizer(s,"nt "); int n=okens(); int a[]=new int[n]; int i=-1,j; while(++i { a[i]=nt(ken()); } for(i=0;i for(j=i+1;j { 2015年4月全国自考Java语言程序设计 if(a[i]>a[j]) {int t=a[i];a[i]=a[j];a[j]=t;} } for(i=0;i { (a[i]+" "); } RandomAccessFile out=null; try { out=new RandomAccessFile("","rw"); ytes(t()); } catch(FileNotFoundException e1){} catch(IOException e2){} 【你的答案】 六、简答题(本大题共6小题,每小题3分,共18分) 第1题 请解释clipRect(int x,int y,int w,int h)方法的功能及参数含义。 【正确答案】 (P143)方法的功能是:限制图形在指定区域内显示,超出区域的图形 不显示。当多个限制区域有重叠时,得到限制区 域的交集区域。 参数含义:x和y是指定区域的左上角坐标(x,y),w和h是指定区域的宽和高。 【你的答案】 本题分数 3 分 你的得分 修改 分数 2015年4月全国自考Java语言程序设计 第2题 CardLayout布局的容器可容纳多个组件,但是多个组件拥有一个显示空间。如何设置 CardLayout布局及显示某一组件? 【正确答案】 (P100)设置CardLayout布局:先创建CardLayout布局对象,然后使 用setLayout()方法为容器设置CardLayout布局, 最后调用容器的add()方法将组件加入容器。 显示容器中的某一组件有如下两种方式: ①使用show(容器名,组件代号),指定某个容器中的某个组件显示。 ②按组件加入容器的顺序显示组件。first(容器)、last(容器)、previous(容器)、 next(容器)。 【你的答案】 本题分数 3 分 你的得分 修改 分数 第3题 阅读下面程序,如果在横线上分别填写①i=m②i=b③i=p.a④i=(100)四个赋值语句, 有哪些不合法?请写出原因。 class Class2201 { private int a; public int change(int m){return m;} } public class Class22 extends Person { public int b; public static void main(String[]args) { Class2201 p=new Class2201(); Class22 t=new Class22(); int i; ___; } } 【正确答案】 (P48) ①不合法:m在Class22中没有声明过,不能使用。 2015年4月全国自考Java语言程序设计 ②不合法:b是非静态成员,不能在静态方法main()中使用。 ③不合法:a是Class2201类的private成员,不能在Class2201类外直接访 问。 ④合法。 【你的答案】 本题分数 3 分 你的得分 修改分 数 第4题 文本框(JTextField)是界面中用于输入和输出一行文本的区域。文本框处理程序的基本内容有 哪五个方面? 【正确答案】 (P102) ①声明一个文本框名。 ②建立一个文本框对象。 ③将文本框对象加入到某个容器。 ④对需要控制的文本框对象注册监视器,监听文本框的输入结束事件(即输入 回车键)。 ⑤一个处理文本框事件的方法,完成结截获事件进行判断和处理。 【你的答案】 本题分数 3 分 你的得分 修改分 数 第5题 请写出RandomAccessFile类中read(byte b[],int s,int n)方法的功能及参数含义。 【正确答案】 (P180)从文件中读出若干字节存入到数组中。参数b为要存入的数组, s为存入b数组的起始位置,n为读取的字节数或 者直到相应流的结尾,并且返回实际已经读取的字节数。 【你的答案】 2015年4月全国自考Java语言程序设计 本题分数 3 分 你的得分 第6题 控制声音的播放有哪3个方法? 修改 分数 【正确答案】 (P154)play()播放声音,loop()循环播放和stop()停止播放。 【你的答案】
版权声明:本文标题:2015年4月全国自考Java语言程序设计(一)考前密卷04747(含答案)_百 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1710341219a568540.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论