计算机二级(java)机试8
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[模拟] 计算机二级(java)机试8
一、基本操作题
第1题:
下列程序中,定义了3个变量1,s,b,类型分别为long,short,byte并赋了初始值,分别为-1,1,-1,要求对1做按位左移运算,对s做按位右移运算,对b做无符号按位右移运算,移动的位数均为10位。
请将程序补充完整。
程序运行结果如下:
-1024
-1
public class ex8_1 {
public static void main(String[]args) {
long 1:-1;
___________;
System.out.println(1);
short s = 1;
___________;
System.out.println(s);
byte b =-1;
__________;
System.out.println(b);
}
}
参考答案:
1 <<= 10S >>= 10 b >>>= 10
详细解答:
本题主要考查位运算符。
解题要点是熟悉左移,右移和无符号右移运算的表达式。
本题中,3个空分别对应填上题目要求的运算表达式即可,注意无符号右移运算适合对负数进行右移运算。
//题目2:填空题:1分
二、简单应用题
第2题:
请完成下列Java程序:使用JTabbedPane在窗口顶部建立一个图形标签,包含有两个标签窗格,一个使用简单标签(Labe1)显示欢迎信息,一个使用按钮和图标。
注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。
程序运经结果如下:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ex8_2 extends JPane1 {
public ex8_2() {
JTabbedPane jtp=new JTabbedPane(SwingConstants.BOTTOM);
Icon icon=new ImageIcon("icon.gif");
JButton btn=new JButton(icon);
JLabel l=new JLabel("Welcome to the NCR Examination!");
______________;
______________;
setLayout(new BorderLayout());
add(jtp,"Center");
}
public static void main(String args[]){
ex8_2 obi8_2=new ex8_2();
String str= obj8_2.getClass().toString();
if(str.indexOf("class") != -1)
str = str.substring(6);
JFrame frm = new JFrame(str);
frm.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(O);
}
});
frm.getContentPane () .add(obj8_2);
frm.setSize(300, 200);
frm.setVisible(true);
}
}
参考答案:
jtp.addTab(" Icon ",icon,btn)itp.addTab(" Welcome" ,1)
详细解答:
本题主要考查使用JPanel构件创建图形用户界面。
解题关键是熟悉JTabbedPanel类的使用方法,包括创建图形标签,并加入Frame容器中,以及在标签窗口中添加标签窗格,定制标签窗格等。
本题中,第1个空,调用addTab()方法将标签对象1加入jtp对象中;第2个空,调用addTab()方法将icon和btn的混合对象加入jtp对象中。
三、综合应用题
第3题:
下面是一个Applet程序,其功能是将完整的图像显示于Applet的区块中,然
后可以通过拖动鼠标让图像随着鼠标拖动的轨迹而移动。
请改正程序中的错误(有下划线的语句),使程序能输出正确的结果______。
注意:不改动程序的结构,不得增行或删行。
程序运行结果如下:
import java.applet.*;
import java.awt.*;
/*
<applet code="ex8_3.class" width=800 height=400 >
</applet>
*/
public class ex8_3 extends Applet{
private Image iImg;
private int xPos,yPos;
public void init(){
xPos = yPos = 0;
iImg = getImage("ex8_3.jpg");
}
public void paint(Graphics g){
g.drawImage(iImg,xPos,yPos);
}
public boolean mouseDrag(Event e,int x, int y){
xPos = x;
yPos = y;
paint();
return true;
}
}
ex8_3.htm
<HTML>
<HEAD>
<TITLE>ex8_3</TITLE>
</HEAD>
<BODY>
<applet code="ex8_3.class" width=800 height=400 >
</applet>
</BODY>
</HTML>
参考答案:
iImg=getlmage(getDocumentBase(),"ex8_3.jpg")g.drawImage(iImg,xPos,yPos,this) repaint()
详细解答:
本题主要考查在Applet窗口中显示图像,并结合鼠标事件处理的综合应用。
解题关键是熟悉图像文件的加载过程,会跟踪鼠标拖动的事件,并将鼠标在Applet窗口中的坐标信息作为参数传递给drawImage()方法,用于在新的位置显示图像,从而实现拖动效果。
本题中,第一处,getImage()方法应该有2个参数,第一个参数是getDocumentBase()方法的返回值,即图像文件的路径;第二处,drawImage()方法最后一个参数应该是this,确定是在当前运行的对象中绘制图像;第三处,应该调用repaint()方法,进行重画,而不是paint()方法。