全国 高等教育自学考试Java语言程序设计 试题
更新时间:2023-09-06 01:26:01 阅读量: 教育文库 文档下载
- 全国疫情最新消息推荐度:
- 相关推荐
全国2009年1月自学考试Java语言程序设计(一)试题课程代码:04747
一、单项选择题(本大题共10小题,每小题1分,共10分)
1.下列字符组合不能作为Java整型常量的是( )
A.078
B.0x3ACB
C.5000
D.0x3ABC
2.以下程序代码的输出结果是( )
int x = 10; while (x > 7) ;}
A.**
B.***
C.*
D.****
3.设类U声明,及对象u和v的定义如下:
class U{ int x, int y; U(int a, int b){x= a; y = b;} void copy(U a){ x = a.x; y = a.y;} }
U u = new U(1, 2), v = new U(2, 3);在以下供选择的代码中,可能引起系统回收内存的是( )
B.u=v;
4.设有以下代码:String s l="123";String s2="123";String s3=new String("123");
则表达式s1==s2和s1==s3的值分别是( )A.true,true B.false,false
C.true,false
D.false,true
5.以下关于AWT与Swing之间关系的叙述,正确的是( )
A.Swing是AWT的提高和扩展
B.在写GUI程序时,AWT和Swing不能同时使用
C.AWT和Swing在不同的平台上都有相同的表示
D.AWT中的类是从Swing继承的
6.在以下Swing组件中,能为它指定布局管理器的是( )
A.JScrollBar对象
B.JMenuBar对象
C.JComboBox对象
D.JDialog对象
7.一般的绘图程序要定义一个JPanel子类。在JPanel子类中还要重定义一个方法,在这个方法中调用绘图方法,绘制各种图形。要重定义的方法是( )
A.paint()
B.paintComponent()
C.repaint()
D.update()
8.用Runnable接口实现多线程的主要工作是( )
A.声明实现Runnable接口的类,在类内实现run()方法,让线程调用start()方法。
B.声明实现Runnable接口的类,在类内实现run()方法,在类内声明线程对象,在init()方法中创建新线程,启动新线程。
C.声明实现Runnable接口的类,在类内实现run()方法,在类内声明线程对象,在Init()方法或start()方法中创建新线程,在start()方法中启动新线程。
D.声明实现Runnable接口的类,在类内实现run()方法,在init()方法中创建新线程,在start()方法中启动新线程。
9.程序如果要按行输入输出文件的字符流,最合理的方法是采用( )
A.BufferedReader类和BufferedWriter类
B.InputStream类和OutputStream类
C.FileReader类和FileWriter类
D.File_Reader类和File_Writer类
10.在编写访问数据库的Java程序中,要用到DriverManager类。该类的作用是( )
A.存储查询结果
B.处理与数据库的连接
C.在指定的连接中处理SQL语句
D.处理驱动程序的加载和建立数据库连接
二、填空题(本大题共10小题,每小题2分,共20分)
11.Java程序的字节码文件的扩展名是_________。
12.构造一个Java表达式:y/x>5,并且x!=0。这个表达式是_________。
13.在类声明之前用_________修饰,声明类是不能被再继承的类,即它不能再有子类。
14.设有字符串定义:String s="ABCDABCD";则表达式s.indexOf("B")的值是_________。
15.在实现接口ActionListener的方法actionPerformed()中,常用的有两个获得事件源的方法,它
们是getActionCommand()和_________。
16.使用单选按钮的方法是将一些单选按钮用___对象分组使同一组内的单选按钮只允许一个被选中。
17.在Java语言中,用类Font对象设置字型。如果要设置的字型是:细明体、正常风格(Font.PLAIN),12磅字号,构造这样要求的Font对象fnA的代码是_________。
18.线程从阻塞状态恢复到就绪状态,有三种途径:自动恢复、用resume()方法恢复和用____方法恢复。
19.为普通的8位字节流文件读和写操作提供支持的类是_________。
20.Connection类是java.sql包中用于处理与数据库连接的类。Connection对象是用来表示_________的对象,Java程序对数据库的操作都在这种对象上进行。
三、简答题(本大题共6小题,每小题3分,共18分)
21.请写出表示year年是闰年的Java表达式。闰年的条件是:每4年一个闰年,但每100年少一个闰年,每400年又增加一个闰年。
22.请写出在类的方法的定义之前,加上修饰字public、private的区别。
23.请写出将文本区text放置于滚动面板jsp,并将滚动面板jsp添加到JFrame窗口myFrame的Java 语句。24.要用Graphics2D类的方法画一个图形,首先要把参数对象g强制转换成Graphics2D对象;然后,用图形类提供的静态方法Double()创建一个图形对象;最后,以图形对象为参数调用Graphics2D对象的draw()方法绘制这个图形。请写出用这样的方法绘制一条线段的程序段,线段的两个端点分别是(10.0,10.0)和(30.0,30.0)。25.请写出字符流数据与字节流数据的区别。
26.请写出URLConnection类在编写Java网络应用程序中的作用。
四、程序填空题(本大题共5小题,每小题4分,共20分)
27.方法int sigmaDigit(int n)的功能是求出十进制整数n的各位数字之和。例如,n=1234,该方法的返回值是10。static int sigmaDigit( int n )
{ int sum = 0, d; while( n > 0 ){ d=n% 10; _________;n/= 10; } _________;}
28.以下小应用程序能响应鼠标按动的事件,当鼠标在正文区的某个位置被点击时,就在该位置显示一个记号“×”,程序限制最多保留最新20个位置。
import java.applet.*; import java.awt.*;
class MyPanel extends JPanel {
public void print(Graphics g, int x, int y)(
g.setColor(Color.red);
g.drawLine(x-5, y-5, x+5, y+5);
g.drawLine(x+5, y-5, x-5, y+5);}}
class MyWindow extends JFrame implements MouseListener{
final int MaxMarks = 20;
int currentMarks = 0, markCount = 0;
Point marks[] = new Point[MaxMarks];
MyPanel panel;
MyWindow(){
this.setLocation(100, 100); this.setSize(300, 300); Container con = this.getContentPane();
panel = new MyPanel(); con.add(panel);
_________(this);
this.setVisible(true); }
public void paint(Graphics g){ int i;
g.clearRect(0,0, this.getWidth(), this.getHeight());
for(i =0;i < markCount; i++) {
_________(g, marks[i].x, marks[i].y);}}
public void mousePressed(MouseEvent e){ }
public void mouseReleased(MouseEvent e){ }
public void mouseEntered(MouseEvent e){ }
public void mouseExited(MouseEvent e){ }
public void mouseClicked(MouseEvent e){
marks[currentMarks] = new Point(e.getX(), e.getY());
if(markCount < MaxMarks)markCount++;
currentMarks = (currentMarks+ 1)%MaxMarks;
repaint();}}
public class Class1 extends Applet {
public void init(){ MyWindow myWndow = new MyWindow();} }
29.这是一个处理选择项目事件的子窗口类。窗口中有2个选择框,当选中某个选择框时,文本框将显示选择框对应的信息。
class MyWindow extends JFrame implements ItemListener {
JTextField text; JCheckBox boxl, box2;
MyWindow(String s) { _________;
Container con = this.getContentPane();
this.setLocation(100, 100); this.setSize(400, 200); text = new JTextField(10);
box1 = new JCheckBox("A计算机", false);
box2 = new JCheckBox("B计算机", false);
con.setLayout(new GridLayout(3, 2));
con.add( new JLabel("计算机产品介绍", JLabel.CENTER));
add(new JLabel("计算机2选1", JLabel.CENTER));
con.add(box1); con.add(box2); con.add(text);
box1 .addItemListener(this);
box2.addItemListener(this);
this.setVisible(true); this.pack(); }
public void itemStateChanged( _________e){
if(e.getItemSelectable() == box1) { text. setText("A公司生产");}
else if(e.getItemSelectable() == box2) {text. setText("B公司生产");}
}}
30.这是一个播放幻灯片的小应用程序中的paint()方法。设幻灯片已由小应用程序的init()方法装入内存,并存放于myImage数组中,幻灯片的张数放于变量num中,paint()方法要播放的幻灯片号是currentImage。int currentImage = 0; final int num = 30;
Image [ ] myImage = new _________ [num]; ……
public void paint(Graphics g) { if ((mylmage[currentImage]) != null)
g. _________ (myImage[currentImage], 10, 10,
myImage [currentImage].getWidth(this), myImage [currentImage].getHeight(this), this); } 31.以下定义的类ShareData用于管理多个线程共享数据val。为了保证对共享数据val修改的完整性,线程对val的操作需要互斥,类ShareData中定义的方法modiData()就是供共享val的线程修改val的方法。程序共有20个线程共享val,有些减少val,有些增加val。
public class Class1 { public static void main(String args[]){
ShareData mrc = new ShareData(50); Thread[] aThreadArray = new Thread[20];
for(int i = 0; i < 20; i++) {
int d = i % 2 == 0 ? 50 : -30;
aThreadArray[i] = new Thread(new MyMultiThreadClass(mrc, d)); aThreadArray[i].start();} WhileLoop ://等待所有线程结束
while(true){ for(int i = 0; i < 20; i++) if(aThreadArray[i]. _________ ())continue WhileLoop;
break; }
}}
class MyMultiThreadClass implements Runnable { ShareData UseInteger; int delta;
MyMultiThreadClass(ShareData mrc, int d) { UseInteger = mrc; delta = d; }
public void run() { for(int i = 0; i < 1000; i++) { UseInteger.modiData(delta);
try {Thread.sleep(10) ;//做一些其他的处理}catch(InterruptedException e){ }}
}}
class ShareData { int val;ShareData(int initValue){val = initValue; }
int getVal(){return val;} private void putVal(int v){val = v;}
_________ void modiData(int d){
putVal(getVal() + d);}}
五、程序分析题(本大题共5小题,每小题4分,共20分)
32.阅读下列程序,请写出该程序的输出结果。
class A {int x, y; A(int a, int b) { x= a; y= b;} }
public class sample {
public static void main(String args[]) {
A pl, p2; p2 = new A(12, 15); p1 = p2; p2.x++; ;}}
33.阅读下列程序,请写出调用pascal(4)的输出结果。
static void pascal(int n) { int pas[]; pas = new int[n]; pas[0] = 1;
for (int i = 2; i <= n; i++) {/* 由存储在pas中的原来内容生成新内容*/
pas[i - l] =1;
for (int j = i- 2;j > 0; j--) pas[j] = pas[j] + pas[j - 1 ];
for (int j = 0; j < i; j++)
34.阅读下列程序,请用示意图画出程序运行时呈现的界面。
import java.applet.*; import java.awt *; import javax.swing.*;
class MyPanel extends JPanel {
JButton button; JLabel label;
MyPanel(String s1, String s2) { this.setLayout(new GridLayout(2, 2));
button = new JButton(s1); label = new JLabel(s2, JLabel.CENTER);
add(button); add(label); add(new JLabel()); } }
public class Class1 { public static void main(String args[]) {
JFrame mw = new JFrame("一个示意窗口");
mw.setSize(400, 250); Container con = mw.getContentPane();
con.setLayout(new BorderLayout()); MyPanel panel1, panel2;
panel1 = new MyPanel("按钮1" ,"标签1");
panel2 = new MyPanel("按钮2", "标签2");
JButton button = new JButton("开始按钮");
con.add(panel1, "North");con.add(panel2, "South");
con.add(button, "Center"); mw.setVisible(true); }}
35.阅读下列程序,请回答以下问题:(1)程序要求在文本框text中输入的内容是什么?
(2)辅助文本区showArea组件的作用是什么? (3)如何使程序开始下载网络文本文件?
(4)程序采用什么输入方式下载网络文件?
import http://www.77cn.com.cn.*;
public class Class1{ public static void main(String args[])
{ new ConnectNet("读取网络文本文件示意程序");} }
class ConnectNet extends JFrame implements ActionListener{
JTextField text=new JTextField(30);JTextArea showArea=new JTextArea();
JButton b=new JButton("下载");JPanel p=new JPanel();
ConnectNet(String s){ super(s);Container con=this.getContentPane();
p.add(text);p.add(b);JScrollPane jsp=new JScrollPane(showArea);
b.addActionListener(this);con.add(p,"North");con.add(jsp,"Center");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setSize(500,400);setVisible(true);} public void actionPerformed(ActionEvent e){ String urlName=text.getText();
try{ URL url=new URL(urlName);//由网址创建URL对象
URLConnection tc=url.openConnection();//获得URLConnection对象
tc.connect();//设置网络连接
InputStreamReader in=new InputStreamReader(tc.getInputStream());
BufferedReader dis=new BufferedReader(in);String inLine;
while((inLine=dis.readLine())!=null){showArea.append(inLine+"\n");}
dis.close();
}catch(MalformedURLException e2){e2.printStackTrace();}
catch(IOException e3){ e3.printStackTrace();} }}
36..阅读下列程序,请写出该程序的功能。
import java.applet.*; import java.awt.*;
Thread myThread = null;
public void start() { setSize(500, 400);
if (myThread == null) { myThread = new Thread(this); myThread.start(); } }
public void run() { while (myThread != null) {
try { myThread.sleep(500); } catch (InterruptedException e) { }
repaint();}}
public void paint(Graphics g) {int x = (int)(400*Math.random()); int y = (int)(300*Math.random());
g.setColor(Color.red); g.fillOval(x,y, 10, 10);}}
六、程序设计题(本大题共2小题,每小题6分,共12分)
37.编写数组复制方法。该方法从已知平衡的两维数组的左下角复制出一个非平衡的三角二维数组。设复制数组方法的模型为:public static double[][] leftDownConer(double[][]anArray)
38.设计实现以下形式布局的Java小应用程序。
注1:其中空白格是文本框,用于输入对应的内容。
注2:这里给出的是程序的一部分,你要编写的是方法MyWindow(String s)。
import java.applet.*;import javax.swing.*;import java.awt.*;
class MyWindow extends JFrame{
JTextField textl,text2,text3,text4;
public MyWindow(String s){//这个方法是你要编写的}}
public class Class1 extends Applet{
MyWindow myWindow;
public void init(){ myWindow=new MyWindow("一个小应用程序");} }
正在阅读:
2018汽车维修合同(4篇)03-23
中华民族精神 杜志章 当代中华民族精神的反思与建构05-31
房地产项目计划立项可行性研究报告.doc05-12
8月份模具钳工基础知识培训05-31
巾帼建功岗位明星事迹材料03-19
放开那三国客观论变橙后对吴甘宁的影响08-07
2016模拟实习练习题04-30
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 自学考试
- 程序设计
- 高等教育
- 试题
- 语言
- 全国
- Java
- 【部编版】小学语文二年级上册第7单元测试题(含答案)
- 国家优质工程申报表
- 河北省管道和设备安装行业企业名录2018版2582家
- 运筹学案例分析
- 新标准大学英语 综合教程1 答案Unit1-4
- 一年级传统文化全册教案
- 中原地产策划基础知识篇
- 江苏自考-05962招聘管理大纲
- 上海浦东国际机场西货运区公共货运站自动喷水灭火系统设计_王玉玲
- 2013—2014学年开展教职工工间操活动实施方案
- Nate Brazill_ Sentenced to Grow__ Up in Prison
- 聘用护士的资质·岗位技术能力及要求
- CT机的分类构造及成像原理--华中科技大学同济医学院附属协和医院放射科
- 《济南的冬天》的练习题
- 目录-2018-2023年中国海洋类制品行业发展与投资机会分析报告(目录)
- 基于PLC的霓虹灯控制系统设计
- 4草根足球同校园足球的结合
- 2020年日历月历(记事A4黑白打印)12页
- 安全生产自我评价制度
- 外啮合齿轮泵的设计