1、国家二级( JAVA)机试模拟试卷 22及答案与解析 一、基本操作题( 30分) 1 下面程序是关于位运算符的使用。请在程序的每条横线处填写一个位运算符,使程序的功能完整。 注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填人适当的位运算符。 public class BitOperator public static void main(String args) int a=9; /二进制数 1001 int b=15; /二进制数 1111 int c=8; /二进制数 1000 int d,e,f,g,h; d=a_b; /二进制数 1001,也就是十进制数 9 e=a
2、|b; /二进制数 1111,也就是十进制数 15 f=a_b; /二进制数 0110,也就是十进制数 6 g=a 2; /94=36 h=c_1; /8/2=4 System.out.println(“d=“+d); System.out.println(“e=“+e); System.out.println(“f=“+f); System.out.println(“g=“+g); System.out.println(“h=“+h); 二、简单应用题( 40分) 2 请完成下列 Java程序:输入 2个整数,求最大公约数。要求有 2个单行文本区作为输入, 2个按钮,一个点击完成计算,一个
3、点击退出程序。 注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填人适当的语句。 import java.awt.*; import java.awt.event.*; public class ex14_2 extends Frame implements ActionListener private Label l; private TextField tf, tf2; public static void main(Stringarg) exl4_2 obj14_2=new ex14_2(); public ex14_2() setTitle(“ex14_2“); Pa
4、nel p1; Button b=new Button(“OK“); p1=new Panel(); tf=new TextField(8); p1.add(tf); d2=new TextField(8); p1.add(tf2); b.addActionListener(this); p1.add(b); b=new Button(“Exit“); b.addActionListener(this); p1.add(b); add(“North“, p1); Panel p2=new Panel(); 1=new Label(“最大公约数: “); p2.add(1); add(“Cent
5、er“, P2); setSize(500, 300); show(); public void actionPerformed(ActionEvent ae) if(ae.getActionCommand().equals(“Exit“)/比较 ae对象的标识名,是否为 Exit。 System.exit(0); else if(ae.getActionCommand().equals(“OK“) try int a=Integer.parseInt(tf.getText(); int b=Integer.parseInt(tf2.getText(); int r,i; while(b0)
6、_; _; b=r; 1 setText(“最大公约数: “+Integer.toString(a); catch(NumberFormatException nfe) 1 setText(“请正确输入 !“); 三、综合应用题( 30分) 3 下面是一个 Applet程序,其功能是统计输入字符串中的每个字符在该串中出现的次数。要求,窗口中有一个文本框作为输入,一个按钮,点击则进行统计,统计结果以图形方式输出。请改正程序中的错误 (有下画线的语句 ),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 import java.awt.*; import java.applet.
7、*; import java.1ang*; public class exl3_3 extends Applet private TextField tf; private Button btn; public void init() tf=new TextField(25); add(tf); btn=new Bunon(“统计 “); add(btn); resize(250, 200); pubhc void paint(Graphics g) Stling str=tf.genText(); shon cnt=new shon65536; int i; int n = 50; for(
8、i=0;i 65536;i+) cati=0; for(i=0;i str.length(); i+) cnti+; for(i=0;i 65536;i+)/对数组 Cnt进行初始化 if(cnti =0) g.drawString(i+“出现 “+cnti+“次 “,50,n); n+=20; public boolean action(Eyent e, Object o) if(o=“统计 “) repaint(); return true; else return false; ex13_3.html HTML HEAD TITLE ex13_3 /TITLE /HEAD BODY applet code=“ex13_3.class“width=800 height=400 /applet /BODY /HTML 国家二级( JAVA)机试模拟试卷 22答案与解析 一、基本操作题( 30分) 1 【正确答案】 & 二、简单应用题( 40分) 2 【正确答案】 r=a%b a=b 三、综合应用题( 30分) 3 【正确答案】 cntstr.charAt(i)+ cnti 0 g.drawString(char)i+“出现 “+cnti+“次 “,50,n)