1、国家二级( JAVA)机试模拟试卷 23及答案与解析 一、基本操作题( 30分) 1 “角谷猜想 ”指出将一个自然数按以下的规则进行运算:若数为偶数,则除以 2;若为奇数乘 3加 1。将得到的数按该规则重复运算,最终可得 1。请在下面程序得每条横线处填写一和语句,使程序的功能完整。 (如:输入 34,则输出结果为 34 17 52 26 13 40 20 10 5 16 8 4 2 1) 注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填人适当的语句。 import java.io.*; class JiaoGu public static void main(String
2、args) System.out.print(“n请输入一个数 “); try BufferedReader br=new BufferedReader(new lnputStreamReader(System.in); String s=“ “; try s=br.readline(); catch (IOExceptine) _ while(a! =1) System.out.print(“ “+a); if(a%2=1) _ else a=a/2; System.out.println(“ “+a); _ 二、简单应用题( 40分) 2 请完成下列 Java程序:创建一个进度条,可以控制
3、其开始和暂停。要求进度条与线程关联,由线程控制,点击开始按钮开始进度条的滚动,点击停止按钮,暂停,继续点击开始按钮则继续进行。 注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填 入适当的语句。 import javax.swing.*; import javax.swing.event.*; import java.awt.*; import java.awt.event.*; public class ex15_2 extends JPanel ThreadProg thProgress; JProgressBar jPb; /声明一个进程条对象 static JFram
4、e jf; public ex15_2() setLayout(new BorderLayout(); jPb=new JProgressBar(); add(jpb,“Center“); JPanel btnPanel=new JPanel(); JButton btnStart=new JButton(“开始 “); btnPanel.add(btnStart); btnStart.addActionListener(new ActionListener() public void actionPerformed(ActionEvent ae) _; ); JButton btnStop=
5、new JButton(“停止 “); btnPanel.add(btnStop); btnStop.addActionListener(new ActionListener() public void actionPerformed(ActionEvent ae) _; ); add(btnPanel, BorderLayout.SOUTH); public void startProgress() if(thProgress=null|!thProgress.isAlive() thProgress=new ThreadProg(jpb); thProgress.start(); publ
6、ic void stopProgress() thProgress.setStop(true); pubUc static VOid main(String args) jf=new JPrame(“ex15_2“); ex15_2 obj15_2=new ex15_2(); jf.getContentPane().add(“Center“,obj15_2); jf.setSize(250, 80); jf.addWindowListener(new WindowAdapter() pubhc void windowClosing(WindowEvent we) System.exit(0);
7、 ); jf.setVisible(true); class ThreadProg extends Thread private JProgressBar jpb; private boolean bStop=false; private boolean bAlive=false; pubhc ThreadProg(JProgressBar jpb) this.jpb=jpb; public VOid setStop(boolean b) bStop=b; public void run() int min=0; int max=60; jpb.setMinimum(min); jpb.set
8、Maximum(max); jpb.setValue(min); for(int x=min;x =max;x+) if(bStop) break; else jpb.setValue(x); try Thread.sleep(150); catch(InterruptedException e) bAlive=false; 三、综合应用题( 30分) 3 下面是一个 Applet程序,其功能是建立一个图形用户界面的窗口,包括一个 文本显示区和一个按钮,点击按钮,可以声文本区已有的文本基础上追加显示 10条“Welcome to China!”信息,并且文本区由滚动条控制文本的上下滚动。请改正
9、程序中的错误 (有下画线的语句 ),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 import javax.swing.*; import java.awt.*; import java.awt.event.*; /* applet code=“exl3_4.class“width=800 height=400 /applet */ public class exl4_3 extends JApplet JButton jb=new JButton(“Add Text“); JTextPane jtp=new JTextPane(); public void init()
10、 jb.addActionListener(new Ac60nListener() pubhc void actionPerformed(ActionEvent e) for(int i=1;i10;i+) jtp.geText(jtp.setText()+“Welcome to China! n“); ); Container cp=getContentPane(); cp.add(new JScrollPane(jtp); cp.add(BorderLayout.SOUTH,jtp); public static void main(Stdng args) ex14_3 obj14_3=n
11、ew ex14_3(); String str=obj14_3.getClass().toString(); if(str.indexOf(“class“)!=-1) str=str.substring(6); JFrame frm=new JFrame(str); frm.addWindowListener(new WindowAdapter() pubhc void windowClosing(WindowEvent we) System.exit(0); ); frm.getContentPane().add(ex3_10); frm.setSize(300, 400); frm.set
12、Visible(true); ex14_3.html HTMI HEAD TITLE ex14_3 /HEAD BODY applet code=“ex14_3.class“width=800 height=400 /applet /BODY /HTML 国家二级( JAVA)机试模拟试卷 23答案与解析 一、基本操作题( 30分) 1 【正确答案】 int a=Integef.parseInt(s); a=a*3+1; catch(Exception e) 二、简单应用题( 40分) 2 【正确答案】 startProgress() stopProgress() 三、综合应用题( 30分) 3 【正确答案 】 setText(jtp.getText() +“Welcome to China! n“) cp.add(BorderLayout.SOUTH,jb) frm.getContentPane().add(obj14_3)
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1