1、二级 JAVA 机试-146 及答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1,分数:30.00)1.下面的程序是从命令行输入 3 个数传递到 public static void main(String args)方法中(如 java Is Triangle 3 4 5),并判断这 3 个数能否构成三角形的 3 条边,并显示相应的结果。请在程序的每条横线处填入适当的语句,使程序的功能完整。注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。public class IsTrianglepublic static void mai
2、n(String args )int a =new_ args.length;for(int i=0;iargs.length;i+)ai = _if(_)System.out.println(a0+ “,“+a1+ “,“+a2 “能构成三角形的 3 条边“);elseSystem.out.println(a0+ “,“+a1+ “,“+a2 “不能构成三角形的 3 条边“);(分数:30.00)_二、2简单应用题(总题数:1,分数:40.00)2.请完成下列 Java 程序:程序的功能演示了如何通过实现 Runnable 接口创建线程对象,程序中定义了一个类 B,类中重写了含一个字符串参数
3、的构造方法,并实现了 Runnable 接口,即在类 B 中编写了接口中的 run()方法的方法体。还定义了一个应用程序类 ex35_2,其中创建类 B 的 3 个对象 b1,b2 和 b3 作为线程对象 t1,t2 和 t3 的参数,并启动这 3 个线程。注意:请勿改动 main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。程序运行结果如下:(分数:40.00)_三、3综合应用题(总题数:1,分数:30.00)3.下面是一个 Applet 程序,设置其宽高为 300 和 300 像素,程序的功能是在小程序界面画一根水平线和一根垂直线,将小程序界面均分为 4 个区域,鼠标在不同的区
4、域移动时显示不同的几何图形。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:(分数:30.00)_二级 JAVA 机试-146 答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1,分数:30.00)1.下面的程序是从命令行输入 3 个数传递到 public static void main(String args)方法中(如 java Is Triangle 3 4 5),并判断这 3 个数能否构成三角形的 3 条边,并显示相应的结果。请在程序的每条横线处填入适当的语句,使程序的功能完整。注意
5、:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。public class IsTrianglepublic static void main(String args )int a =new_ args.length;for(int i=0;iargs.length;i+)ai = _if(_)System.out.println(a0+ “,“+a1+ “,“+a2 “能构成三角形的 3 条边“);elseSystem.out.println(a0+ “,“+a1+ “,“+a2 “不能构成三角形的 3 条边“);(分数:30.00)_正确答案:(intInteg
6、erparseInt(argsi);a0+a1a2&a1+a2a0&a2+a0a1)解析:解析本题主要考查从系统命名行传递参数、for 循环语句和逻辑运算符的知识点。解答本题的关键是熟练掌握从系统命名行传递参数、for 循环语句和逻辑运算符的知识。对于逻辑运算符&,如果左边表达式的值为false,则不会再对运算符右边的表达式求值,整个布尔逻辑表达式的结果已确定为 false。例if(expressionl &expression2&expressio)expression1,expression2 和 expression 中,只要有一个值为 false 则整个表达式的值为 false。在本题
7、中,int a=new intargslength;语句的功能是创建整型数组 a,ai=IntegerparseInt(argsi);语句的功能是把从系统命令行获得的数据转换成基本整型数据,赋值给数组元素 if(a0+a1a2&a1+a2a0&a2+a0a1)语句的功能是判断从系统命令行获得的 3 个数能否构成三角形。二、2简单应用题(总题数:1,分数:40.00)2.请完成下列 Java 程序:程序的功能演示了如何通过实现 Runnable 接口创建线程对象,程序中定义了一个类 B,类中重写了含一个字符串参数的构造方法,并实现了 Runnable 接口,即在类 B 中编写了接口中的 run(
8、)方法的方法体。还定义了一个应用程序类 ex35_2,其中创建类 B 的 3 个对象 b1,b2 和 b3 作为线程对象 t1,t2 和 t3 的参数,并启动这 3 个线程。注意:请勿改动 main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。程序运行结果如下:(分数:40.00)_正确答案:(implementspublic void run()解析:解析本题主要考查 Java 中有关线程的基本操作。解题关键是要熟练掌握有关线程的基本知识。在 Java 中创建线程有两种基本方法:(1)是通过实现 Runnable 接口创建线程。(2)通过继承 Thread 类创建线程。第 1 个
9、空,应该填 implements 关键字,其功能是实现 Runnable 接口。第 2 个空,应该填 public void run(),其功能是重写 run()方法。三、3综合应用题(总题数:1,分数:30.00)3.下面是一个 Applet 程序,设置其宽高为 300 和 300 像素,程序的功能是在小程序界面画一根水平线和一根垂直线,将小程序界面均分为 4 个区域,鼠标在不同的区域移动时显示不同的几何图形。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:(分数:30.00)_正确答案:(import javaappl
10、et*;MouseEvent ppublic void repaint()解析:解析本题主要考查 Applet 小程序的应用,Java 程序的事件处理机制,事件适配器的用法及与 Applet 显示有关的方法。解答本题的关键是熟练掌握 Applet 小程序的应用,Java 程序的事件处理机制及与 Applet 显示有关的概念。Java 语言为一些 Listener 接口提供了适配器(Adapter)类。可以通过继承事件所对应的Adapter 类,重写需要的方法,无关方法不用实现。事件适配器提供了一种简单的实现监听器的手段,可以缩短程序代码。另外,在写 Applet 时,我们必须导入 javaapplet 包,在小程序界面上画图时(尤其写字符时),通常重写 paint()方法。