1、二级 JAVA 机试-151 及答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1,分数:33.00)1.下面程序是关于位运算符的使用。请在程序的每条横线处填写一个位运算符,使程序的功能完整。注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填人适当的位运算符。public class BitOperatorpublic static void main(String args)int a=9; /二进制数 1001int b=15;/二进制数 1111int c=8; /二进制数 1000int d,e,f,g,h;d=a_b;/二进制数 100
2、1,也就是十进制数 9e=a|b;/二进制数 1111,也就是十进制数 15f=a_b;/二进制数 0110,也就是十进制数 6g=a2;/94=36h=c_1;/8/2=4System.out.println(“d=“+d);System.out.println(“e=“+e);System.out.println(“f=“+f);System.out.println(“g=“+g);System.out.println(“h=“+h);(分数:33.00)_二、2简单应用题(总题数:1,分数:33.00)2.请完成下列 Java 程序:查找一个矩阵中的鞍点,对于一个二维数组中的鞍点,该点位
3、置上的元素在该行上最小,在该列上最大,也可能没有鞍点。数组大小为 4 行 5 列。注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填人适当的语句。public class ex12_2public static void main(String args)int i,j,flag,m=4,n=5;int min=new int4;int max=new int5;int r=2,5,6,7,9,32,65,2,78,12,1,8,5,96,4,5,3,21,73,23;flag=0;for(i=0;im;i+)/获取元素在该行上最大mini=ri0;for(j=1;jn;j+
4、)if(rijmini)_;for(j=0;jn;j+)/获取同一元素在该列上最大maxj=r0j;for(i=1;im;i+)if(rijmaxj)_;for(i=0;im;i+)for(j=0;jn;j+)if(mini=maxj) ,System.out.print(“(“+i+“,“+j+“):“+rij);flag=1;if(flag=0)System.out.println(“没有鞍点!“);(分数:33.00)_三、3综合应用题(总题数:1,分数:34.00)3.下面是一个 Applet 程序,其功能是打印一个任意进制的乘法表。要求输入乘法表的进制,点击确定则打印出该乘法表。请改
5、正程序中的错误(有下画线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。import java.awt.*;import java.applet.*;import java.lang.*;public class exl2_3 extends Appletprivate TextField tf;private Button btn;public void init()tf=new TextField(25);add(tf);btn=new Button(“确定“);add(btn);resize(250,200);public void paint(Craphics
6、 g)tryint n= tf.getText();int i,j,x=20,y=60;for(i=0;in;+)for(j=1;j=n;j+)gdrawString(Integer.toString(i)+“*“+Integer.toString(j)+“=“+Integer.toString(i*j),i*x,j*y);catch(NuaberFormatEXCeption nfe)g.drawString(“error namber!“,20,50);public boolean action(Event e,Object o)if(o=“确定“)repaint();return tru
7、e;elsereturn false;exl2_3.htmlHTMLHEADTITLEexl2_3/TITLE/HEADBODYapplet code=“exl2_3.class“width=800 height=400/applet/BODY/HTMI(分数:34.00)_二级 JAVA 机试-151 答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1,分数:33.00)1.下面程序是关于位运算符的使用。请在程序的每条横线处填写一个位运算符,使程序的功能完整。注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填人适当的位运算符。public cl
8、ass BitOperatorpublic static void main(String args)int a=9; /二进制数 1001int b=15;/二进制数 1111int c=8; /二进制数 1000int d,e,f,g,h;d=a_b;/二进制数 1001,也就是十进制数 9e=a|b;/二进制数 1111,也就是十进制数 15f=a_b;/二进制数 0110,也就是十进制数 6g=a2;/94=36h=c_1;/8/2=4System.out.println(“d=“+d);System.out.println(“e=“+e);System.out.println(“f=
9、“+f);System.out.println(“g=“+g);System.out.println(“h=“+h);(分数:33.00)_正确答案:(im;i+)/获取元素在该行上最大mini=ri0;for(j=1;jn;j+)if(rijmini)_;for(j=0;jn;j+)/获取同一元素在该列上最大maxj=r0j;for(i=1;im;i+)if(rijmaxj)_;for(i=0;im;i+)for(j=0;jn;j+)if(mini=maxj) ,System.out.print(“(“+i+“,“+j+“):“+rij);flag=1;if(flag=0)System.ou
10、t.println(“没有鞍点!“);(分数:33.00)_正确答案:(mini=rijmaxj=rij)解析:三、3综合应用题(总题数:1,分数:34.00)3.下面是一个 Applet 程序,其功能是打印一个任意进制的乘法表。要求输入乘法表的进制,点击确定则打印出该乘法表。请改正程序中的错误(有下画线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。import java.awt.*;import java.applet.*;import java.lang.*;public class exl2_3 extends Appletprivate TextField
11、tf;private Button btn;public void init()tf=new TextField(25);add(tf);btn=new Button(“确定“);add(btn);resize(250,200);public void paint(Craphics g)tryint n= tf.getText();int i,j,x=20,y=60;for(i=0;in;+)for(j=1;j=n;j+)gdrawString(Integer.toString(i)+“*“+Integer.toString(j)+“=“+Integer.toString(i*j),i*x,j
12、*y);catch(NuaberFormatEXCeption nfe)g.drawString(“error namber!“,20,50);public boolean action(Event e,Object o)if(o=“确定“)repaint();return true;elsereturn false;exl2_3.htmlHTMLHEADTITLEexl2_3/TITLE/HEADBODYapplet code=“exl2_3.class“width=800 height=400/applet/BODY/HTMI(分数:34.00)_正确答案:(Integer.parseInt(tf.getText()i=1;i=n;i+i*50+x,j*20+y)解析: