1、二级 JAVA机试 55及答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)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;/
2、二进制数 1001,也就是十进制数 9 e=a|b;/二进制数 1111,也就是十进制数 15 f=a_b;/二进制数 0110,也就是十进制数 6 g=a2;/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); (分数:30.00)_二、B2简单应用题/B(总题数:1,分数:40.00)2.请完成下列 Java程序:查找一个矩阵中
3、的鞍点,对于一个二维数组中的鞍点,该点位置上的元素在该行上最小,在该列上最大,也可能没有鞍点。数组大小为 4行 5列。 注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填人适当的语句。 public class ex12_2 public 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+)/获取
4、元素在该行上最大 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.out.println(“没有鞍点!“); (分数:40.00)_三、B3综合应用题/B(总题数:1,分数:30.00)3.下面是一个 App
5、let程序,其功能是打印一个任意进制的乘法表。要求输入乘法表的进制,点击确定则打印出该乘法表。请改正程序中的错误(有下画线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 import java.awt.*; import java.applet.*; import java.lang.*; public class exl2_3 extends Applet private TextField tf; private Button btn; public void init() tf=new TextField(25); add(tf); btn=new Butt
6、on(“确定“); add(btn); resize(250,200); public void paint(Craphics g) try int n= Utf.getText();/U int i,j,x=20,y=60; for(Ui=0;in;+/U) 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 nambe
7、r!“,20,50); public boolean action(Event e,Object o) if(o=“确定“) repaint(); return true; else return false; exl2_3.html HTML HEAD TITLEexl2_3/TITLE /HEAD BODY applet code=“exl2_3.class“width=800 height=400 /applet /BODY /HTMI(分数:30.00)_二级 JAVA机试 55答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)1
8、.下面程序是关于位运算符的使用。请在程序的每条横线处填写一个位运算符,使程序的功能完整。 注意:请勿改动 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|b;/二进制数 1111,也就是十进制数 15 f=a_b;/二进制数 0110,也就
9、是十进制数 6 g=a2;/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); (分数:30.00)_正确答案:()解析:im;i+)/获取元素在该行上最大 mini=ri0; for(j=1;jn;j+) if(rijmini) _; for(j=0;jn;j+)/获取同一元素在该列上最大 maxj=r0j; for(i=1;im
10、;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(“没有鞍点!“); (分数:40.00)_正确答案:()解析:mini=rij maxj=rij三、B3综合应用题/B(总题数:1,分数:30.00)3.下面是一个 Applet程序,其功能是打印一个任意进制的乘法表。要求输入乘法表的进制,点击确定则打印出该乘法表。请改正程序中的错误(有下画线的语句),使程序能
11、输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 import java.awt.*; import java.applet.*; import java.lang.*; public class exl2_3 extends Applet private 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 g) try
12、 int n= Utf.getText();/U int i,j,x=20,y=60; for(Ui=0;in;+/U) 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 true; else return false; exl2_3.html HTML HEAD TITLEexl2_3/TITLE /HEAD BODY applet code=“exl2_3.class“width=800 height=400 /applet /BODY /HTMI(分数:30.00)_正确答案:()解析:Integer.parseInt(tf.getText() i=1;i=n;i+ i*50+x,j*20+y