操作题11套
基本操作在考生文件夹中存有文件名为Java_1.java的文件,该程序是不完整的,请在注释行“//**********Found**********”下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。程序的功能是计算一组学生成绩的等级,运行结果如图所示。public class Java_1{pu
基本操作
在考生文件夹中存有文件名为Java_1.java的文件,该程序是不完整的,请在注释行“//Found”下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
程序的功能是计算一组学生成绩的等级,运行结果如图所示。 
public class Java_1{
public static void main(String[] args){
//Found*
________ scores = {90,80,75,67,53};
int best = 0;
char grade;
// 找出这组成绩中的最高分
//Found*
for (int i=0;__; i++){
//Found*
if ()
best = scores[i];
}
//求各分数的等级并显示
for (int i=0; i<scores.length; i++){
if (scores[i] >= best - 10)
grade = ‘A’;
//Found*
__________ (scores[i] >= best - 20)
grade = ‘B’;
else if (scores[i] >= best - 30)
grade = ‘C’;
else if (scores[i] >= best - 40)
grade = ‘D’;
else
grade = ‘F’;
System.out.println("Student " + i + " score is " + scores[i] +
" and grade is " + grade);
}
}
}
本题考查的是数组的定义及操作。
首先,程序定义并初始化一维数组scores,在Java中定义并创建一个数组对象的方式是:type[] arrayName=new type[arraySize];所以第一空填"int[]"。
然后,程序通过一个for循环来找出数组scores中的最大值,因为数组scores的数组元素有5个,元素下标最大值为4(即:scores[0]、scores[1]、scores[2]、scores[3]、scores[4]),所以第二空填"i<=4";由程序可知,变量best用于存放这组成绩中的最高分,所以通过if语句进行比较,第三空填"scores[i]>best"。
第四空所在的for循环的作用是根据分数判断等级,等级A:最高分-10;等级B:最高分-20;等级C:最高分-30;等级D:最高分-40;其余的是等级F。由程序可知,第四空填else
if。
具体程序如下:
public class Java_1{
public static void main(String[] args){
//*********Found**********
int[] scores = {90,80,75,67,53};
int best = 0;
char grade;
// 找出这组成绩中的最高分
//*********Found**********
for (int i=0;i<=4; i++){
//*********Found**********
if (scores[i]>best)
best = scores[i];
}
//求各分数的等级并显示
for (int i=0; i<scores.length; i++){
if (scores[i] >= best - 10)
grade = 'A';
//*********Found**********
else if (scores[i] >= best - 20)
grade = 'B';
else if (scores[i] >= best - 30)
grade = 'C';
else if (scores[i] >= best - 40)
grade = 'D';
else
grade = 'F';
System.out.println("Student " + i + " score is " + scores[i] +
" and grade is " + grade);
}
}
}
简单应用
在考生文件夹中存有文件名为Java_2.java的文件,该程序是不完整的,请在注释行“//Found”下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
本题的要求是:
运行程序后,输出结果为(2,3)
public class Java_2 {
public static void main(String[ ] args) {
Point pt;
//Found*
pt = _____________ Point(2, 3);
System.out.println(pt);
}
}
class Point {
//Found*
private _____________;
private int y;
//Found*
public _____________ (int a, int b) {
x = a;
y = b;
}
int getX( ) {
return x;
}
int getY( ) {
return y;
}
void setX(int a) {
x = a;
}
void setY(int b) {
y = b;
}
//Found*
public String _____________ ( ) {
return "( " + x + “,” + y + " ) ";
}
}
本题重点考查了方法参数的传递和对象的实例化。
对象实例化的一般格式是先定义一个对象变量,再用关键字new生成一个对象,并对对象中的变量赋初值。如下所示:type objectName=new type([参数]),其中type
objectName声明是定义对象的类型;new关键字的作用是实例化一个对象,给对象分配内存,它调用对象的构造方法,返回该对象的引用,所以第一空填"new"。
private修饰符修饰的类变量在类内可访问,其他类不能进行访问。根据语句"private int y;“可知,第二空填"int x;”。
构造方法用来初始化对象,其方法名必须与类名相同且只能通过new自动调用,第三空所在的方法是Point类的构造方法,所以,第三空填"Point"。
只要是一个类而且继承自object,那么这个类就会继承Object的toString方法,功能是将对象转换为其字符串表现形式,使它适合于显示。第四空重写toString方法以(x,y)的格式返回点的位置,所以填"toString"。
具体程序如下:
public class Java_2 {
public static void main(String[ ] args) {
Point pt;
//*********Found**********
pt = new Point(2, 3);
System.out.println(pt);
}
}
class Point {
//*********Found**********
private int x;
private int y;
//*********Found**********
public Point (int a, int b) {
x = a;
y = b;
}
int getX( ) {
return x;
}
int getY( ) {
return y;
}
void setX(int a) {
x = a;
}
void setY(int b) {
y = b;
}
//*********Found**********
public String toString ( ) {
return "( " + x + "," + y + " ) ";
}
}
综合应用
在考生文件夹中存有文件名为Java_3.java的文件,该程序是不完整的,请在注释行“//Found”下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。
存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
本题的要求是:
程序中用Swing编写了一个窗体,窗体内含有两个按钮"New"和"Close all"。
当"New"按钮被按下后,就生成一个新的窗体。当"Close all"按钮被按下后,就关闭所有现在已经打开的窗体。程序运行如下图所示。 
import java.awt.;
import java.awt.event.;
//Found*
import ________________.swing.*;
//Found*
public class Java_3 ___________ JPanel{
private int counter = 0;
private JButton closeAllButton;
public Java_3() {
JButton newButton = new JButton(“New”);
//Found*
add(______________);
newButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
CloseFrame f = new CloseFrame();
counter++;
f.setTitle("窗体 " + counter);
f.setSize(200, 150);
f.setLocation(30 * counter, 30 * counter);
//Found*
____________.setVisible(true);
closeAllButton.addActionListener(f);
}
});
closeAllButton = new JButton(“Close all”);
add(closeAllButton);
}
public static void main(String[ ] args) {
JFrame frame = new JFrame();
frame.setTitle(“多窗体测试”);
frame.setSize(300, 200);
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
Container contentPane = frame.getContentPane();
contentPane.add(new Java_3());
frame.setVisible(true) ;
}
}
//Found*
class CloseFrame extends JFrame implements ________________ {
public void actionPerformed(ActionEvent evt) {
setVisible(false);
}
}
本题考查的是Swing构件和AWT中的事件处理。
下面语句导入Swing包:import javax.swing.*;所以第一空填"javax"。
extends关键字代表了所谓的继承关系,新类Java_3开始于JPanel类的现有成员(数据和方法)。Java_3继承的类,即JPanel,显示在关键字extends右边。这种继承关系下,JPanel称为超类,Java_3称为子类。所以第二空填"extends"。
增加一个新的按钮控件,所以第三空填"newButton"。
setVisible()方法的作用是使可视化组件f(如窗口、面板等)可见,根据语句"CloseFrame f = new CloseFrame(); “可知,第四空填"f”。
第五空的作用是定义事件响应接口,根据语句"public void actionPerformed(ActionEvent evt)“可知,所以第五空填"ActionListener”。
具体程序如下:
import java.awt.*;
import java.awt.event.*;
//*********Found**********
import javax.swing.*;
//*********Found**********
public class Java_3 extends JPanel{
private int counter = 0;
private JButton closeAllButton;
public Java_3() {
JButton newButton = new JButton("New");
//*********Found**********
add(newButton);
newButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
CloseFrame f = new CloseFrame();
counter++;
f.setTitle("窗体 " + counter);
f.setSize(200, 150);
f.setLocation(30 * counter, 30 * counter);
//*********Found**********
f.setVisible(true);
closeAllButton.addActionListener(f);
}
});
closeAllButton = new JButton("Close all");
add(closeAllButton);
}
public static void main(String[ ] args) {
JFrame frame = new JFrame();
frame.setTitle("多窗体测试");
frame.setSize(300, 200);
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
Container contentPane = frame.getContentPane();
contentPane.add(new Java_3());
frame.setVisible(true) ;
}
}
//*********Found**********
class CloseFrame extends JFrame implements ActionListener {
public void actionPerformed(ActionEvent evt) {
setVisible(false);
}
}
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)