1、国家二级( JAVA)机试模拟试卷 29及答案与解析 一、基本操作题( 30分) 1 下列 Application程序中,指定 v为 32位整数类型,求出 v的绝对值并输出,请将程序补充完整。 class test19_1 public static void main(String args) _v=-100; char ch=_Math._(v); System out println(“ch=“+ch); 二、简单应用题( 40分) 2 请完成下列 Java程序:输入 2个整数,求最大公约数。要求有 2个单行文本区作为输入, 2个按钮,一个点击完成计算,一个点击退出程序。 注意:请勿改动
2、main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 程序运行结果如下: import java.awt.*; import java.awt.event.*; public class ex21_2 extends Frame implements ActionListener private Label 1; private TextField tf,tf2; public static void main(String arg) ex21_2 obj21_2 = new ex21_2(); public ex21_2() setTitle(“ex21_2“); Panel
3、p1; Button b =new Button(“OK“); p1 = new Panel(); tf = new TextField(8); p1.add(tf); tf2=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(); l=new Label(“最大公因数 : “); p2.add(1); add(“Ce
4、nter“,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(
5、b0) _; _; b=r; 1.setText(“最大公约数 : “+Integer.toString(a); catch(NumberFormatException nfe) 1.setText(“请正确输入 ! “); 三、综合应用题( 30分) 3 下面是一个 Applet程序,其功能是有 2个按钮,分别为 First和 Second,以及一个 Labe1构件。要求点击 First时则能在 Labe1中显示出 Command: First,而点击Second时则能显示出 Command: Second,要求只能使用重载一次actionPerformed( )方法。请改正程序中的错误 (
6、有下画线的语句 ),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 import java awt *; import java awt event *; import java applet *; /* */ public class ex20_3extends Applet implements ActionListener private String str=“Ok“; private Label 1; private Button btn; public void init() setLayout(null); 1=new Label(str); 1 reshap
7、e(10, 10, 100, 30); add(1); btn=new Button(“First“); btn reshape(10, 50, 60, 20); 1 addAcUonljstener(this); add(btn); btn=new Button(“Second“); btn reshape(10, 100, 60, 20); btn setActionCommand(“First“); btn addAc“OnListener(this); add(btn); public void actionPerformed(ActionEvent ae) str=“Command:
8、 “+ae.getActionColllInttnd( ); btn setText(str); ex20_3.html HTML HEAD TITLE ex20_3 /TITLE /HEAD BODY applet code=“ex20_3 class“width=800 height=400 /applet /BODY /HTML 国家二级( JAVA)机试模拟试卷 29答案与解析 一、基本操作题( 30分) 1 【正确答案】 int (char) abs 二、简单应用题( 40分) 2 【正确答案】 r=a%b a=b 【试题解析】 本题主要考查 AWT基本构件和事件处理机制以及基本的求最大公因数的算法。解题关键是掌握 Button, Panel, Label等构件的使用方法,会处理整数异 常,熟练掌握 while语句用法。本题中,第 1个空, r为 a除以 b的余数;第 2个空, a更新为 b的值。 三、综合应用题( 30分) 3 【正确答案】 btn.addActionListener(this) btn.btn.setActionCommand(“second“) 1.sctTcxt(str)