基本操作

在考生文件夹中存有文件名为Java_1.java的文件,该程序是不完整的,请在注释行“//Found”下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。 存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。

本题的要求是:
输出100以内能被3整除且个位数为6的所有整数,并统计输出这些数的个数。

完成程序,运行后屏幕显示如下:
6 36 66 96
The number is 4.

public class Java_1 {

public static void main(String[] args) {
int i, k, n;
//*********Found********
____________;
//*********Found********
for (i = 0; ____________; i++) {
k = i * 10 + 6;
//*********Found********
if (____________) {
System.out.print(k + " ");
n++;
}
}
System.out.println("\n" + "The number is " + n + ".");
}
}

本题着重考查考生对Java语言变量初始化以及基本计算逻辑的掌握情况。
本题中的第一个空格:程序要求最后输出100以内能被3整除且个位数为6的所有整数的个数,打印语句中输出的number为n值,n是局部变量参与自增运算,因此在此处将n先初始化赋0,k只负责接收表达式的值,可以不初始化,因此填入n=0;
本题中的第二个空格:100以内的值运算,k显然是最终的值,i代表的是十位上的数字,100以内十位最多到9,因此填入i<10;
本题中的第三个空格:应题目的要求能被3整除才满足要求,因此k除以3之后余数为0,因此填入k%3==0;

本评析仅作参考。

public class Java_1 {

public static void main(String[] args) {
int i, k, n;
//*********Found********
n=0;
//*********Found********
for (i = 0; i<10; i++) {
k = i * 10 + 6;
//*********Found********
if (k%3==0) {
System.out.print(k + " ");
n++;
}
}
System.out.println("\n" + "The number is " + n + ".");
}
}

简单应用

在考生文件夹中存有文件名为Java_2.java的文件,该程序是不完整的,请在注释行“//Found”下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。
存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。

运行程序后,输出结果如下:
Name: Zhao Age: 20
Name: Wang Age: 18 School: Cambridge

public class Java_2 {

public static void main(String[] args) {
Person p = new Person("Zhao",20);
Student s = new Student("Wang",18,"Cambridge");
System.out.println(p);
System.out.println(s);
}
}

class Person {

private String name;
private int age;

public Person(String name, int age) {
//*********Found********
___________ = name;
//*********Found********
___________ = age;
}

public void setName(String n) {
//*********Found********
___________= n;
}

public String toString() {
return "Name: " + name + " Age: " + age;
}
}

class Student extends Person {

private String school;

public Student(String name, int age, String s) {
//*********Found********
___________;
school = s;
}

public String toString() {
//*********Found********
return ___________.toString() + " School: " + school;
}
}

本题着重考查考生对Java语言类定义以及继承类的掌握情况。
本题中的第一个空格:将形参的值传递给类的成员变量,this.name代表的就是对象中的成员变量,后面的name代表的就是形参,因此填入this.name;
本题中的第二个空格:将形参的值传递给类的成员变量,this.age代表的就是对象中的成员变量,后面的age代表的就是形参,因此填入this.age;
本题中的第三个空格:将形参的值传递给类的成员变量,this.name代表的就是对象中的成员变量,name因为没有引起重名,也是可以识别为成员变量,后面的n代表的就是形参,因此填name;
本题中的第四个空格:子类构造器的第一条语句一般是调用超类的构造器,完成实例域参数的初始化,一般都会使用super关键字,因此填入super(name,age);
本题中的第五个空格:Student类需要覆盖Person类中的toString方法,但同时也需要调用Person类中的toString方法,因此在Student类中使用super.toString()即可完成调用,因此填入super;

本评析仅作参考。

public class Java_2 {

public static void main(String[] args) {
Person p = new Person("Zhao",20);
Student s = new Student("Wang",18,"Cambridge");
System.out.println(p);
System.out.println(s);
}
}

class Person {

private String name;
private int age;

public Person(String name, int age) {
//*********Found********
this.name = name;
//*********Found********
this.age = age;
}

public void setName(String n) {
//*********Found********
name = n;
}

public String toString() {
return "Name: " + name + " Age: " + age;
}
}

class Student extends Person {

private String school;

public Student(String name, int age, String s) {
//*********Found********
super(name,age);
school = s;
}

public String toString() {
//*********Found********
return super.toString() + " School: " + school;
}
}

综合应用

在考生文件夹中存有文件名为Java_3.java的文件,该程序是不完整的,请在注释行"//Found"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。
存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。

程序的功能是:当移动鼠标时,会在界面下方显示当前鼠标的位置。

程序运行后出现如下界面:

Java二级操作题第40套_java


移动鼠标后显示如下:

Java二级操作题第40套_java_02

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Java_3 {

public static void main(String[] args) {
JFrame frame = new JFrame("Mouse Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new MousePanel());
frame.pack();
frame.setVisible(true);
}
}

//*********Found**********
class ___________ extends JPanel {

private JLabel b;

public MousePanel() {
b = new JLabel(" 起始状态 ");
setLayout(new BorderLayout());
add(b, BorderLayout.SOUTH);

addMouseMotionListener(new MouseMotion());
setPreferredSize(new Dimension(300, 200));
}

//*********Found**********
private class MouseMotion extends ___________ {

public void mouseMoved(MouseEvent e) {
//*********Found**********
b.setText(" 鼠标当前位置: "+ e._________+ " , " + e.__________);
}
}
}

本题着重考查考生对Java语言类定义以及鼠标事件的掌握情况。
本题中的第一个空格:main函数中MousePanel类不是标准类,是用户自定义类,因此需要定义才能使用,因此此处填入MousePanel;
本题中的第二个空格:需要实时显示鼠标位置,就需要通过MouseMotionAdapter或者MouseAdapter监听鼠标当前位置,他们都继承了MouseMotionListener接口,因此填入MouseMotionAdapter;
本题中的第三个空格:要输出鼠标的当前位置,需要得到鼠标当前的x坐标和y坐标,getX()方法可以获取鼠标的x坐标,因此填入getX();
本题中的第四个空格:要输出鼠标的当前位置,需要得到鼠标当前的x坐标和y坐标,getY()方法可以获取鼠标的y坐标,因此填入getY();

本评析仅作参考。

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Java_3 {

public static void main(String[] args) {
JFrame frame = new JFrame("Mouse Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new MousePanel());
frame.pack();
frame.setVisible(true);
}
}

//*********Found**********
class MousePanel extends JPanel {

private JLabel b;

public MousePanel() {
b = new JLabel(" 起始状态 ");
setLayout(new BorderLayout());
add(b, BorderLayout.SOUTH);

addMouseMotionListener(new MouseMotion());
setPreferredSize(new Dimension(300, 200));
}

//*********Found**********
private class MouseMotion extends MouseMotionAdapter {

public void mouseMoved(MouseEvent e) {
//*********Found**********
b.setText(" 鼠标当前位置: "+ e.getX()+ " , " + e.getY());
}
}
}

箴言:因为这些东西是非常简单的。不要抱怨自己学不会,那是因为你没有足够用心。