Java二级操作题第41套

基本操作

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

程序的功能是:在一个整型数组中查找指定的数,如果找到则停止查找并将该数在数组中的位置输出。
程序的运行结果如下:
Found 18 at index 4

public class Java_1{
   public static void main(String[] args){
      //**************found*****************
      _________arrayOfInts = { 33, 88, 5, 458, 18, 107, 200, 8, 622, 127 };
      int searchfor = 18;

      int i = 0;
      //**************found*****************
      _________ foundIt = false;

      for ( ; i<arrayOfInts.length; i++){
         //**************found*****************
         if (arrayOfInts[i] == _________ ){
           foundIt = true;
           //**************found*****************           
           _________;
  	 }
      }

      if (foundIt) {
		System.out.println("Found " + searchfor + " at index " + i);
      } else {
		System.out.println(searchfor + "not in the array");
      }
   }
}

本题着重考查考生对Java语言基本数据类型的掌握情况。
本题中的第一个空格:arrayOfInts后面是一个整型数组,结合数组的定义方法,arrayOfInts前面加上int[],因此填入int[];
本题中的第二个空格:foundIt赋值为false,可以知道foundIt是布尔类型,因此填入boolean;
本题中的第三个空格:结合题干,此处为找到18这个数,因此此处填入18,searchfor变量已经被赋值为18,因此此处也可以填入searchfor;
本题中的第四个空格:结合题干,找到数后即可把位置输出,为了防止i继续增加,应该退出for循环,因此此处填入break;

本评析仅作参考。

public class Java_1{
   public static void main(String[] args){
      //**************found*****************
      int[] arrayOfInts = { 33, 88, 5, 458, 18, 107, 200, 8, 622, 127 };
      int searchfor = 18;

      int i = 0;
      //**************found*****************
      boolean foundIt = false;

      for ( ; i<arrayOfInts.length; i++){
         //**************found*****************
         if (arrayOfInts[i] == searchfor ){
           foundIt = true;
           //**************found*****************           
           break;
  	 }
      }

      if (foundIt) {
		System.out.println("Found " + searchfor + " at index " + i);
      } else {
		System.out.println(searchfor + "not in the array");
      }
   }
}

简单应用

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

程序釆用两种不同方式生成线程,使上面的5个线程输出5个1,使下面的5个线程输出1到5。
运行结果如下:
1
1
1
1
1
1
2
3
4
5

import java.io.*;
import java.lang.Thread;

//**************found*****************
class MyThread extends _________{
  public int x = 0;

  public void run(){
     //**************found*****************
      System.out.println(_________);
  }
}

//**************found*****************
class R implements _________{
  private int x = 0;
  //**************found*****************
  public void _________(){
    System.out.println(++x);
  }
}

public class Java_2 {
  public static void main(String[] args) throws Exception{
    
    for(int i=0;i<5;i++){
      Thread t = new MyThread();
      t.start();
    }
    Thread.sleep(1000);
    R r = new R();
    //**************found***************** 
    for(int i=0;i< ________;i++){
      Thread t = new Thread(r);
      //**************found*****************
      t._________();
    }
  }
}

本题着重考查考生对Java语言线程的掌握情况。
本题中的第一个空格:根据题干5个线程先输出5个1,即5个线程是独立的,因此继承的是Tread类,此处填入Thread;
本题中的第二个空格:每个线程相互独立,要想输出1,此处填入1;
本题中的第三个空格:结合题干,每个线程的数值加1,输出语句中也是++x,此处填入Runnable;
本题中的第四个空格:运行线程,此处填入run;
本题中的第五个空格:结合题干,输出5个数字,此处填入i<5;
本题中的第六个空格:线程定义完成后,启动线程使用start()方法,此处填入start;

本评析仅作参考。

import java.io.*;
import java.lang.Thread;

//**************found*****************
class MyThread extends Thread{
  public int x = 0;

  public void run(){
     //**************found*****************
      System.out.println(++x);
  }
}

//**************found*****************
class R implements Runnable{
  private int x = 0;
  //**************found*****************
  public void run(){
    System.out.println(++x);
  }
}

public class Java_2 {
  public static void main(String[] args) throws Exception{
    
    for(int i=0;i<5;i++){
      Thread t = new MyThread();
      t.start();
    }
    Thread.sleep(1000);
    R r = new R();
    //**************found***************** 
    for(int i=0;i< 5;i++){
      Thread t = new Thread(r);
      //**************found*****************
      t.start();
    }
  }
}

综合应用

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

程序的功能是:当用户在“角度”后面输入角度值,点击按钮“计算”后,会计算其正弦函数的值,并在下方的区域中显示出来;当多次对不同值进行计算时,其所有计算内容都会在下方区域显示出来。注意该区域不能进行编辑。下图所示的是可能的运行的界面显示。

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Java_3  extends JFrame implements ActionListener{
    private double x = 0;
    private double y = 0;
    JTextField xval = new JTextField(10);
    JButton calcBtn = new JButton("计算");
    JTextArea result = new JTextArea(10,20);
    void initFrame(){
        Container content = getContentPane();
        content.setLayout(new BorderLayout());
        JPanel calcPanel = new JPanel();		
        calcPanel.setLayout(new FlowLayout());		
        calcPanel.add(new JLabel("角度"));
        calcPanel.add(xval);
        //***************************Found*********************    
        calcPanel._________;
        content.add(calcPanel,"North");
        //***************************Found*********************    
        calcBtn.____________________;       
        content.add(result,"Center");
        //***************************Found*********************    
        result.____________________;
    }
    public Java_3(){
       super("计算正弦函数");
       setSize(500,200);
       initFrame();		
       setVisible(true);
       setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public void actionPerformed(ActionEvent e){
     //***************************Found*********************   
       if (e.getSource()==___________){
          x = Double.parseDouble(xval.getText())/180*3.14;     
          y = Math.sin(x); 
          //***************************Found*********************           
          String str="sin("+ ___________ +"*3.14/180)= "+y+'\n';   
          //***************************Found*********************    
       	  result.__________;   
       }
    }
    public static void main(String[] args){
    	new Java_3();
    }
}

本题着重考查考生对Java语言中panel、button、textarea等控件的掌握情况。
本题中的第一个空格:根据题干角度、数值和计算按钮在一行上,calcPanel在add完角度和文本框后,应该再把按钮添加进来,因此填入为add(calcBtn);
本题中的第二个空格:对button要添加相应的动作监听器,以接收发自此按钮的动作事件,当在此按钮上按下或释放鼠标时,发生动作事件,因此填入addActionListener(this);
本题中的第三个空格:结合题干,显示内容的区域不能被编辑,因此要对result设置为不可编辑,因此填入setEditable(false);
本题中的第四个空格:结合题干,点击计算按钮后才能显示结果,因此此处应该判断事件的主体是否为calcBtn按钮,因此填入calcBtn;
本题中的第五个空格:结合题干,要输出填入的角度值,因此填入xval.getText();
本题中的第六个空格:结合题干,要将所有结果依次排列在输出文本区域内,因此填入append(str);

本评析仅作参考。

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Java_3  extends JFrame implements ActionListener{
    private double x = 0;
    private double y = 0;
    JTextField xval = new JTextField(10);
    JButton calcBtn = new JButton("计算");
    JTextArea result = new JTextArea(10,20);
    void initFrame(){
        Container content = getContentPane();
        content.setLayout(new BorderLayout());
        JPanel calcPanel = new JPanel();		
        calcPanel.setLayout(new FlowLayout());		
        calcPanel.add(new JLabel("角度"));
        calcPanel.add(xval);
        //***************************Found*********************    
        calcPanel.add(calcBtn);
        content.add(calcPanel,"North");
        //***************************Found*********************    
        calcBtn.addActionListener(this);       
        content.add(result,"Center");
        //***************************Found*********************    
        result.setEditable(false);
    }
    public Java_3(){
       super("计算正弦函数");
       setSize(500,200);
       initFrame();		
       setVisible(true);
       setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public void actionPerformed(ActionEvent e){
     //***************************Found*********************   
       if (e.getSource()==calcBtn){
          x = Double.parseDouble(xval.getText())/180*3.14;     
          y = Math.sin(x); 
          //***************************Found*********************           
          String str="sin("+ xval.getText() +"*3.14/180)= "+y+'\n';   
          //***************************Found*********************    
       	  result.append(str);   
       }
    }
    public static void main(String[] args){
    	new Java_3();
    }
}
posted @   槑孒  阅读(413)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示