1、国家二级( JAVA)机试模拟试卷 110及答案与解析 一、基本操作题( 30分) 1 下面是一个 Applet小程序,其功能为:以坐标 (10, 20)为起点,画一条长为 80个像素点的绿色直线,请在横线处填写一条语句,使程序的完整。 注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 _ import java awt *; public class test_drawline extends Applet public void paint(_) g setColor(Color green); _ 二、简单应用题( 40分) 2 请完成下列 Java程序
2、:读取新浪首页文件的数据并且显示出来。要求编写JFrame扩展类,以 String类的对象定义的 url地址作为入口参数,该类实现根据 url参数指定 的地址进行连接和读取数据,并且能显示在 1个文本区域内。 注意:请勿改动 main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 程序运行结果如下: import javax.swing.*; import java.awt.*; import java.awt.event.*; import .*; import java.io.*; public class ex25_2 public static void main(Stri
3、ng arg) UrlFrame page = new UrlFrame(“http:/“); page.show(); class UrlFrame extends JFrame JTextArea jta = new JmextArea(“正在读取文件 “); URL url; public UrlFrame(String strAddr) super (strAddr); / 使用父类的构造方法。 setSize(450, 300); JScrollPane jsp = new JScrollPane(jta); getContentPane().add(jsp); WindowList
4、ener wl = new WindowAdapter() public void windowClosing(WindowEvent we) System.exit(0); ; addWindowListener(wl); try url = new URL(strAddr); _; catch (MalformedURLException murle) System.out.println(“不合适的 URL: “+ strAddr); void getData(URL url) URLConnection con = null; InputStreamReader isr; Buffer
5、edReader readBuf; String strLine; StringBuffer strBuf = new StringBuffer(); try con = this.url.openConnection(); con.connect(); jta.setText(“打开连接 .“); isr = new InputStreamReader(con.getInputStream( ); readBuf = new BufferedReader(isr); jta.setText(“读取数据 .“); while (strLine = readBuf.readLine() != n
6、ull) strBuf.append(strLine + “n“); _; catch (IOException e) System.out.println(“IO 错误 :“ + e.getMessage(); 三、综合应用题( 30分) 3 下面是一个 Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误 (有下划线的语句 ),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果如下: import.java.awt.*; import.java.applet.*; /* applet
7、 code=exl_3.class width=800 height=400 /applet */ public class exl_3 extends Applet private Button btn; private Boolean bDraw, bClear; private int upX,upY,downX,downY; public void init() setLayout(null); bClear=false; bDraw=false; btn=new Button(”clear”); btn.reshape(250,150, 70,30); add(btn); publi
8、c void paint(Graphics g) if(bClear) g.clearRect(0,0,getSize().width,getSize().height); bClearr=false; if(bDraw) g.drawLine(upY,upX,downY,downX) bDraW=false; public void update(Graphics g) paint(g); Public boolean mouseDown(Event event,int x,int y) downX=x; downY=y; return true; public boolean mouseU
9、p(Event event,int x,int y) upX=x; upY=y; bDraw=false; repaint(); return true; public boolean action(Event event,Object Object) if(event.target!=clear) bClear=true; repaint() return true; ex1_3.html HTML HEAD TITLE ex1_3 /TITLE /HEAD BODY applet code=“exl_3.class“ width=800 height=400 /applet /BODY /
10、HTML 国家二级( JAVA)机试模拟试卷 110答案与解析 一、基本操作题( 30分) 1 【正确答案】 import java applet *; Graphics g g drawLine(10, 20, 10, 100); 【试题解析】 本题考查 Java Applet小程序。 Applet是能够嵌入到 HTML页面中,并能够在浏览器中运行的 Java类。定义用户的 Applet时,必须继承java apple包中的 Applet类。另外, Graphics类在 java awt包中,它是 Applet运行绘制的关键类。 Graphics类中提供的绘图方法分为两类:一类是绘制图形,如
11、 drawLine()画直线, drawRect()画矩形等等;一类是绘制文 本,如 drawstring()绘制字符串, drawChars()绘制字符等等。解答此类问题必须掌握以上知识点。在本题中 import java applet *;语句是导入 java applet包,g.drawLine(10,20,10,100);方法中 (10, 20)是所画横线的起点坐标, (10,100)是横线的终点坐标。 二、简单应用题( 40分) 2 【正确答案】 getData(url) jta setText(strBuf toString() 【试题解析】 本题主要考查面向对象的 基本编程思想,
12、 swing构件的使用,以及java net包中的基本方法的使用。解题关键是能够从题目意思中提取有用信息,并抽象成自己制作的类,并实现这个类,完成一些基本功能。本题中,第 1个空,调用类 UrlFrame内部的方法 getData,根据参数 url所指出的地址获得文件数据;第 2个空,将 strBuf中的数据显示到 jta对象所指定的文本区域中。 三、综合应用题( 30分) 3 【正确答案】 g.drawLine(downX,downY,upX,upY) bDraw=true event.target= =btn 【试题解析】 本题主要考查 Applet的图形绘制、鼠标事件处理和用户界面的相关
13、知识点以及会使用 boolean类型的变量控制程序的流程。解题关键是 ,熟悉Applet的图形绘制,会用 Graphics类的基本绘图方法,例如 drawLine()方法;熟悉鼠标事件处理,并能与图形绘制和用户界面设计相结合做简单的综合应用;掌握一定的程序流程的控制思想。本题中,主要的思想是首先判断用户将鼠标按下与放开的坐标位置,然后使用 drawLine()方法绘制由鼠标按下点到放开点的直线。第 1处,将 drawLine()方法的几个参数颠倒,要明白此方法的几个参数的确切含义才能正确修改。第 2处,将 bDraw变量的值设为 false,这导致程序在调用paint()方法时不能进入 g.drawLine语句,应改为 true。第 3处,有两个错误:首先要明确 clear是 btn对象显示在用户界面的名称,而不是作为对象来与event.target做比较,因此应改为 btn,这在调试时就会出现变量无法解析的错误;其次,符号 !=应改为符号 = =,这里要确定单击 btn事件发生才能做清除,否则不能达到预期效果。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1