Java二级操作题第7套

基本操作

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

本题的要求是:
对Java_1.java文件进行调试,使程序输出结果如下:
0 1 2 3 4 5 6 7 8 9

import java.io.*;
public class Java_1{
   public static void main(String[] args) {
      int[] anArray;   //声明一个整数型数组
      //*********Found**********
      anArray = new ____________[10];   //创建一个整数数组对象s
      //*********Found**********
      for (int i = 0; i < anArray.length;____________) {  //对数组中每个元素赋值并显示
         anArray[i] = i;
         //*********Found**********
         System.out.print(_______________+ " ");
      }
      System.out.println();
   }
}

本题考查的是数组。
本程序通过for循环,通过变量i依次为数组中的每个元素赋值,变量i的初始值为0,循环每执行一次i的值加1,直到i=10,循环终止,输出时只要将数组anArray输出即可。
第一空中创建一个整数数组对象,定位的是int型,所以第一空填"int",第二空"i++",第三空填"anArray[i]"。

具体程序如下:

import java.io.*;
public class Java_1{
   public static void main(String[] args) {
      int[] anArray;   //声明一个整数型数组
      //*********Found**********
      anArray = new int[10];   //创建一个整数数组对象s
      //*********Found**********
      for (int i = 0; i < anArray.length;i++) {  //对数组中每个元素赋值并显示
         anArray[i] = i;
         //*********Found**********
         System.out.print(anArray[i]+ " ");
      }
      System.out.println();
   }
}

简单应用

在考生文件夹中存有文件名为Java_2.java文件,该程序是不完整的,请在注释行"//Found*“下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。
本题的要求是:
打开一个文本文件test.txt,统计该文件中包含的数字的个数与英文字母的个数(忽略大小写)。例如test.txt文本文件中包含的内容为"123abcDEF99G”,则程序的输出结果如下:
数字数是 5,字母数是 7

import java.io.*;
public class Java_2{
   public static void main (String[] args){
      //*********Found**********
      ____________ buf[] = new byte[5];
      int len= 0 ,c1 = 0,c2=0;
      //*********Found**********
      ______________________{
         //*********Found**********
         FileInputStream in = _________________________("test.txt");
         while((len =in.read(buf,0,5))>0){
            for(int i = 0; i < len;i++)
               if(buf[i]>= '0' && buf[i] <= '9'){
                  c1 ++;
               }
               else 
                  if((buf[i]>= 'a' && buf[i] <= 'z') || buf[i]>= 'A' && buf[i] <= 'Z') 
                     c2++;
            if(len <5) break;
         }
         //*********Found**********
         in.______________(); 
      }catch(Exception e ){}
      System.out.println("数字数是 " + c1 + ",字母数是 " + c2);
   }
}

本题考查的是输入与输出。
新建一个byte型数组buf,在这里第一空填"byte",在Java中可以通过try-catch-finally结构对异常进行捕获和处理,其中finally块是个可选项,通过程序中的"catch(Exception
e
)“语句,可知第二空填"try”;以字节流方式从磁盘文件中读取信息时,首先要为磁盘文件建立一个File对象,再为该File对象建立FileInputStream类流对象,然后就可以通过该类的read()方法逐个字节从文件读入,读入操作完成后,利用close()方法关闭FileInputStream流,所以第三空填"new
FileInputStream",第四空填"close"。

具体程序如下:

import java.io.*;
public class Java_2{
   public static void main (String[] args){
      //*********Found**********
      byte buf[] = new byte[5];
      int len= 0 ,c1 = 0,c2=0;
      //*********Found**********
      try{
         //*********Found**********
         FileInputStream in = new FileInputStream("test.txt");
         while((len =in.read(buf,0,5))>0){
            for(int i = 0; i < len;i++)
               if(buf[i]>= '0' && buf[i] <= '9'){
                  c1 ++;
               }
               else 
                  if((buf[i]>= 'a' && buf[i] <= 'z') || buf[i]>= 'A' && buf[i] <= 'Z') 
                     c2++;
            if(len <5) break;
         }
         //*********Found**********
         in.close(); 
      }catch(Exception e ){}
      System.out.println("数字数是 " + c1 + ",字母数是 " + c2);
   }
}

综合应用

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

本题的要求是:
运行程序时,生成下面左边图形的界面,第一次点击图中的"New"按扭,弹出如右图所示的对话框。之后再点击"New"按钮时,弹出对话框标题中数字将发生改变。

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

public class Java_3{
   public static void main(String[] args){
      MulticastFrame frame = new MulticastFrame();
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.show();
   }
}

class MulticastFrame extends JFrame{
   public MulticastFrame(){
      setTitle("MulticastTest");
      setSize(WIDTH, HEIGHT);
      MulticastPanel panel = new MulticastPanel();
      Container contentPane = getContentPane();
      //*********Found**********
      contentPane.add(_________________);
   }
   public static final int WIDTH = 300;
   public static final int HEIGHT = 200;  
}

class MulticastPanel extends JPanel{
   public MulticastPanel(){
      JButton newButton = new JButton("New");
      add(newButton);
      ActionListener newListener = new ActionListener(){
         public void actionPerformed(ActionEvent event){
            makeNewFrame();
         }
      };
      newButton.addActionListener(newListener);
      closeAllButton = new JButton("Close all");
      add(closeAllButton);
   }
   private void makeNewFrame(){
      final BlankFrame frame = new BlankFrame();
      frame.show();
      ActionListener closeAllListener = new ActionListener(){
         public void actionPerformed(ActionEvent event){
            //*********Found**********
            frame.___________________();     //使窗口隐藏或消除
         }
      };
      //*********Found**********
      closeAllButton.addActionListener(__________________________________);
   }
   private JButton closeAllButton;
}

class BlankFrame extends JFrame{
   public BlankFrame(){
      //*********Found**********
      ______________ ++ ;
      setTitle("Frame " + counter);
      setSize(WIDTH, HEIGHT);
      setLocation(SPACING * counter, SPACING * counter);     
   }
   public static final int WIDTH = 200;
   public static final int HEIGHT = 150;  
   public static final int SPACING = 30;
   private static int counter = 0;
}

本题考查的是图形用户界面。
向JFrame添加组件时,必须先取得ContentPane,然后再使用add()方法把组件加入到ContentPane中,通过语句"MulticastPanel
panel = new
MulticastPanel();“可知,第一空填"panel”;dispose()方法的作用是释放资源,所以第二空填"dispose";第三空填"closeAllListener"实现对"Close
all"按钮操作事件的监听,实现关闭所有的Frame窗口;第四空填"counter",使用变量counter来统计打开的Frame窗口数量,每点击一次New按钮,就打开一个Frame窗口。

具体程序如下:

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

public class Java_3{
   public static void main(String[] args){
      MulticastFrame frame = new MulticastFrame();
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.show();
   }
}

class MulticastFrame extends JFrame{
   public MulticastFrame(){
      setTitle("MulticastTest");
      setSize(WIDTH, HEIGHT);
      MulticastPanel panel = new MulticastPanel();
      Container contentPane = getContentPane();
      //*********Found**********
      contentPane.add(panel);
   }
   public static final int WIDTH = 300;
   public static final int HEIGHT = 200;  
}

class MulticastPanel extends JPanel{
   public MulticastPanel(){
      JButton newButton = new JButton("New");
      add(newButton);
      ActionListener newListener = new ActionListener(){
         public void actionPerformed(ActionEvent event){
            makeNewFrame();
         }
      };
      newButton.addActionListener(newListener);
      closeAllButton = new JButton("Close all");
      add(closeAllButton);
   }
   private void makeNewFrame(){
      final BlankFrame frame = new BlankFrame();
      frame.show();
      ActionListener closeAllListener = new ActionListener(){
         public void actionPerformed(ActionEvent event){
            //*********Found**********
            frame.dispose();     //使窗口隐藏或消除
         }
      };
      //*********Found**********
      closeAllButton.addActionListener(closeAllListener);
   }
   private JButton closeAllButton;
}

class BlankFrame extends JFrame{
   public BlankFrame(){
      //*********Found**********
      counter ++ ;
      setTitle("Frame " + counter);
      setSize(WIDTH, HEIGHT);
      setLocation(SPACING * counter, SPACING * counter);     
   }
   public static final int WIDTH = 200;
   public static final int HEIGHT = 150;  
   public static final int SPACING = 30;
   private static int counter = 0;
}
posted @   槑孒  阅读(371)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示