Java二级操作题第9套
基本操作
在考生文件夹中存有文件名为Java_1.java的文件,该程序是不完整的,请在注释行"//Found"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
程序的功能是:从键盘输入5个整数,计算并打印所输入数中的偶数之和。
例如:输入
1
2
3
4
5
则屏幕显示:
偶数之和为6
//*********Found**********
import java.______________.*;
public class Java_1 {
public static void main(String[ ] args) throws IOException {
InputStreamReader ir;
BufferedReader in;
int sum, x;
String data;
//*********Found**********
_______________;
ir = new InputStreamReader(System.in);
in = new BufferedReader(ir);
System.out.println("请输入5个整数:");
//*********Found**********
for (int i = 1; ____________; i++) {
data = in.readLine();
x = Integer.parseInt(data);
//*********Found**********
if (___________)
sum += x;
}
System.out.println("偶数之和为"+ sum );
}
}
本题考查的是流程控制。
io是input out输入输出流,所以第一空填"io"。
程序定义变量sum的作用是存放偶数之和,需要先给其赋初值0,所以第二空填"sum=0"。
当从键盘输入5个数之后,需要通过循环语句将其读入,并转换成int类型依次赋值给变量x,所以第三空填"i<=5"。
由于程序要求"计算并打印所输入数中的偶数之和",那么第三空所在的if语句的作用就是判断输入的数是否为偶数,所以第四空为"x%2==0"。
具体程序如下:
//*********Found**********
import java.io.*;
public class Java_1 {
public static void main(String[ ] args) throws IOException {
InputStreamReader ir;
BufferedReader in;
int sum, x;
String data;
//*********Found**********
sum=0;
ir = new InputStreamReader(System.in);
in = new BufferedReader(ir);
System.out.println("请输入5个整数:");
//*********Found**********
for (int i = 1; i<=5; i++) {
data = in.readLine();
x = Integer.parseInt(data);
//*********Found**********
if (x%2==0)
sum += x;
}
System.out.println("偶数之和为"+ sum );
}
}
简单应用
在考生文件夹中存有文件名为Java_2.java的文件,该程序是不完整的,请在注释行“//Found”下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
本题的要求是:
阅读Java_2.java程序, 完成程序并运行,所得结果为:
Hello World!
Hello!
HELLO WORLD!!
Catch 3
Ending the print.
public class Java_2{
public static void main(String args[]){
int i=0;
String greetings[] ={ "Hello World!","Hello!","HELLO WORLD!!"};
while (i<4){
try{
//*********Found********
System.out.println(_________________[i]);
}
//*********Found********
_________________(ArrayIndexOutOfBoundsException e){
//*********Found********
System.out.println("Catch " + _____________.getMessage());
System.out.println("Ending the print.");
}
finally{
System.out.println("---------------------");
}
//*********Found********
_______________;
}
}
}
本题考查的是异常处理。
本题首先要理解数组的定义方法。在Java中定义一维数组格式为:type arrayName[]或type[] arrayName;其中type可以是Java语言的任意数据类型,数组名是合法标识符,[]说明变量是数组变量,数组的元素类型必须与数组类型一致。由语句"System.out.println(greetings[i]);“可知,第一空填"greetings”。
其次要注意异常处理。一个方法中为某种类型的异常对象提供有对应的处理时,调用该方法时就可捕获该种异常。异常被定义后,必须通过try-catch-finally语句处理。该语句执行时,解释器把可能产生异常的代码段形成一个"警戒区",该"警戒区"由try引导。“警戒区"后面是catch从句,一个"警戒区"后面可接多个catch从句。try"警戒区"在遇到异常情况时,停止执行而跳转到相应处理异常的程序,这就由catch来控制,所以第二空填"catch”。catch子句都带一个参数,该参数是某个异常的类及其变量名,catch用该参数去与抛出异常对象的类进行匹配,匹配上后就去执行catch后的程序段,即处理异常;如匹配不上就跳到下一个catch,直至找到为止,Throwable的getMessage()方法是用来获得异常事件信息的,所以第三空填"e"。
Java预定义了一些常见异常类,如:ArrayIndexOutofBoundsException,数组索引越界异常,当数组的索引值为负数或大于等于数组大小时抛出。
最后,while循环问题,while循环又称"当型循环",在每次循环开始时判断循环条件。程序中使用变量i作为循环条件,根据程序运行结果可知,循环每执行一次,变量i的值都要加1,所以,第四空填"i++"或其等效形式。
具体程序如下:
public class Java_2{
public static void main(String args[]){
int i=0;
String greetings[] ={ "Hello World!","Hello!","HELLO WORLD!!"};
while (i<4){
try{
//*********Found********
System.out.println(greetings[i]);
}
//*********Found********
catch(ArrayIndexOutOfBoundsException e){
//*********Found********
System.out.println("Catch " + e.getMessage());
System.out.println("Ending the print.");
}
finally{
System.out.println("---------------------");
}
//*********Found********
i++;
}
}
}
综合应用
在考生文件夹中存有文件名为Java_3.java的文件,该程序是不完整的,请在注释行"//Found"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
本题的要求是:
在考生文件夹中存有文件名为Java_3.java文件,该程序完成以下功能:
首先显示一个对话框,点击其中的"JDialog"按钮,弹出注册信息对话框,
输出姓名和口令,如下图所示: 
单击"ok"按钮返回后,原对话框中将显示输入的注册信息,如下图所示: 
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
//*********Found**********
public class Java_3 __________________ WindowAdapter implements ActionListener
{
private JFrame frame;
private JTextField name;
private JPasswordField pass;
private JLabel nameLabel;
private JLabel passLabel;
private JPanel textPanel;
private JPanel labelPanel;
private JButton button;
private JTextArea textArea;
public void initGUI()
{
frame=new JFrame("Frame with Dialog");
frame.addWindowListener(this);
button=new JButton("JDialog");
//*********Found**********
button._______________(this);
textArea=new JTextArea("",3,10);
frame.getContentPane().add(textArea,BorderLayout.CENTER);
frame.getContentPane().add(button,BorderLayout.NORTH);
frame.setSize(400,300);
frame.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
final JDialog dia=new JDialog(frame,"login information");
JButton ok=new JButton("ok");
ok.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
textArea.setText("");
textArea.append("name:"+name.getText()+"\r\n");
textArea.append("passWord:"+new String(pass.getPassword())+"\r\n");
//*********Found**********
dia.setVisible(________________); //隐藏对话框
}
});
name=new JTextField("",10);
pass=new JPasswordField("",10);
pass.setEchoChar('*');
textPanel=new JPanel();
textPanel.setLayout(new GridLayout(2,1,10,10));
textPanel.add(name);
textPanel.add(pass);
nameLabel=new JLabel("name");
passLabel=new JLabel("passWord");
labelPanel=new JPanel();
labelPanel.setLayout(new GridLayout(2,1,20,20));
labelPanel.add(nameLabel);
labelPanel.add(passLabel);
dia.getContentPane().add(labelPanel,BorderLayout.WEST);
dia.getContentPane().add(textPanel,BorderLayout.CENTER);
dia.getContentPane().add(ok,BorderLayout.SOUTH);
dia.setSize(200,130);
dia.setVisible(true);
}
public void windowClosing(WindowEvent event)
{
frame.setVisible(false);
System.exit(0);
}
public static void main(String args[])
{
Java_3 example=new Java_3();
//*********Found**********
example.____________;
}
}
本题主要考查的是监听器。
Java语言为一些Listener接口提供了适配器(Adapter)类。可以通过继承事件所对应的Adapter类,重写需要的方法。WindowAdapter是窗口适配器,所以第一空填"extends"。
Java的图形用户界面是事件驱动的,并且由各种各样的监听器(Listener)负责捕捉各种事件。JButton(按钮)是常用控件,使用ActionListener来监听其状态是否激活,所以第二空填"addActionListener";第三空要求实现的功能是隐藏对话框,所以填"false";第四空,使用Java_3类对象example来调用initGUI()方法,所以填"initGUI()"。
具体程序如下:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
//*********Found**********
public class Java_3 extends WindowAdapter implements ActionListener
{
private JFrame frame;
private JTextField name;
private JPasswordField pass;
private JLabel nameLabel;
private JLabel passLabel;
private JPanel textPanel;
private JPanel labelPanel;
private JButton button;
private JTextArea textArea;
public void initGUI()
{
frame=new JFrame("Frame with Dialog");
frame.addWindowListener(this);
button=new JButton("JDialog");
//*********Found**********
button.addActionListener(this);
textArea=new JTextArea("",3,10);
frame.getContentPane().add(textArea,BorderLayout.CENTER);
frame.getContentPane().add(button,BorderLayout.NORTH);
frame.setSize(400,300);
frame.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
final JDialog dia=new JDialog(frame,"login information");
JButton ok=new JButton("ok");
ok.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
textArea.setText("");
textArea.append("name:"+name.getText()+"\r\n");
textArea.append("passWord:"+new String(pass.getPassword())+"\r\n");
//*********Found**********
dia.setVisible(false); //隐藏对话框
}
});
name=new JTextField("",10);
pass=new JPasswordField("",10);
pass.setEchoChar('*');
textPanel=new JPanel();
textPanel.setLayout(new GridLayout(2,1,10,10));
textPanel.add(name);
textPanel.add(pass);
nameLabel=new JLabel("name");
passLabel=new JLabel("passWord");
labelPanel=new JPanel();
labelPanel.setLayout(new GridLayout(2,1,20,20));
labelPanel.add(nameLabel);
labelPanel.add(passLabel);
dia.getContentPane().add(labelPanel,BorderLayout.WEST);
dia.getContentPane().add(textPanel,BorderLayout.CENTER);
dia.getContentPane().add(ok,BorderLayout.SOUTH);
dia.setSize(200,130);
dia.setVisible(true);
}
public void windowClosing(WindowEvent event)
{
frame.setVisible(false);
System.exit(0);
}
public static void main(String args[])
{
Java_3 example=new Java_3();
//*********Found**********
example.initGUI();
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!