Java二级操作题第19套

基本操作

在考生文件夹中存有文件名为Java_1.java的文件。
该程序的功能是:找出已知数组中的最大偶数,然后将这个数与数组中的第一个元素互换。
运行后屏幕显示如下:
8 9 2 5 7

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

public class Java_1 {

    public static void main(String[] args) {
        int []a = {5,9,2,8,7};
        int max = 0;
        int k = 0,t ;
        for(int i=0;i<5;i++){
          //*********Found********
            if (a[i]_______ && max < a[i]){
                max = a[i];
          //*********Found********
                _________;
            }
        }
        t = a[0];
        a[0] = a[k];
        a[k] = t;
        //*********Found********
        for(int i=0;i<a.______;i++)
            System.out.print(a[i] + "  ");
    }
}

本题考查的是for循环语句。
具体程序如下:

public class Java_1 {

    public static void main(String[] args) {
        int []a = {5,9,2,8,7};
        int max = 0;
        int k = 0,t ;
        for(int i=0;i<5;i++){
          //*********Found********
            if (a[i]%2==0 && max < a[i]){
                max = a[i];
          //*********Found********
                k=i;
            }
        }
        t = a[0];
        a[0] = a[k];
        a[k] = t;
        //*********Found********
        for(int i=0;i<a.length;i++)
            System.out.print(a[i] + "  ");
    }
}

简单应用

在考生文件夹中存有文件名为Java_2.java的文件。
该程序的功能是:完成对表格的行的增加和删除,同时可显示选定单元格的内容,如下图所示: 
当按下按钮“增加行”后,会在表格后面增加新的一行并显示增加后的表格;按下按钮“删除行”后,如果表格非空,会将表格的最后一行删去并显示修改后的表格。当在表格的单元格上单击或双击鼠标时,会在对话框中显示所在单元格的行列位置及其中的内容。

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

import java.awt.*;
import java.awt.event.*;
import java.util.Vector;

import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;

//*********Found********
public class Java_2 ______________ ActionListener{
	JTable table = null;
	DefaultTableModel defaultModel = null;
	
        //*********Found********
        public __________(){
		JFrame f = new JFrame();
		String[] name = {"字段 1","字段 2","字段 3","字段 4","字段 5"};
		String[][] data = new String[5][5];		
                int value =1;
		for(int i=0; i<data.length; i++){
			for(int j=0; j<data.length ; j++)
				data[i][j] = String.valueOf(value++);
		}		
		defaultModel = new DefaultTableModel(data,name);
		table=new JTable(defaultModel);
		table.setPreferredScrollableViewportSize(new Dimension(400, 80));
		JScrollPane s = new JScrollPane(table);

		JPanel panel = new JPanel();
		JButton b = new JButton("增加行");
		panel.add(b);
	
		//*********Found********
	        b.______________(this);
		b = new JButton("删除行");
		panel.add(b);
		b.addActionListener(this);
	
		//*********Found********
                Container contentPane = f._______________();
		contentPane.add(panel, BorderLayout.NORTH);
		contentPane.add(s, BorderLayout.CENTER);

		//*********Found********
		f.______________("增删表格行");
		f.pack();
		f.setVisible(true);

		f.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
					System.exit(0);
			}
		});
		//*********Found********
		table.______________(new MouseAdapter() {
			public void mouseClicked(MouseEvent e) {
				if(table.isCellSelected(table.getSelectedRow(), table.getSelectedColumn())){
					int selRow=table.getSelectedRow();
					int selCol=table.getSelectedColumn();
				JOptionPane.showMessageDialog(null, 
						"位于 ("+selRow+","+selCol+")的元素: "+table.getValueAt(selRow,selCol), 
						"PLAIN_MESSAGE", JOptionPane.PLAIN_MESSAGE);
				}
				}
		   });
	}
	public void actionPerformed(ActionEvent e){
		if(e.getActionCommand().equals("增加行"))    
			defaultModel.addRow(new Vector());
		if(e.getActionCommand().equals("删除行")){
			int rowcount = defaultModel.getRowCount()-1; //getRowCount返回行数,rowcount<0代表已经没有任何行了。
			if(rowcount >= 0){
				defaultModel.removeRow(rowcount);				
				defaultModel.setRowCount(rowcount);
			}
		}		
		table.revalidate();
	}

	public static void main(String[] args) {
		new Java_2();
	}
}

本题考查的是构造方法的重载。
具体程序如下:

import java.awt.*;
import java.awt.event.*;
import java.util.Vector;

import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;

//*********Found********
public class Java_2 implements ActionListener{
	JTable table = null;
	DefaultTableModel defaultModel = null;
	
        //*********Found********
        public Java_2(){
		JFrame f = new JFrame();
		String[] name = {"字段 1","字段 2","字段 3","字段 4","字段 5"};
		String[][] data = new String[5][5];		
                int value =1;
		for(int i=0; i<data.length; i++){
			for(int j=0; j<data.length ; j++)
				data[i][j] = String.valueOf(value++);
		}		
		defaultModel = new DefaultTableModel(data,name);
		table=new JTable(defaultModel);
		table.setPreferredScrollableViewportSize(new Dimension(400, 80));
		JScrollPane s = new JScrollPane(table);

		JPanel panel = new JPanel();
		JButton b = new JButton("增加行");
		panel.add(b);
	
		//*********Found********
	        b.addActionListener(this);
		b = new JButton("删除行");
		panel.add(b);
		b.addActionListener(this);
	
		//*********Found********
                Container contentPane = f.getContentPane();
		contentPane.add(panel, BorderLayout.NORTH);
		contentPane.add(s, BorderLayout.CENTER);

		//*********Found********
		f.setTitle("增删表格行");
		f.pack();
		f.setVisible(true);

		f.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
					System.exit(0);
			}
		});
		//*********Found********
		table.addMouseListener(new MouseAdapter() {
			public void mouseClicked(MouseEvent e) {
				if(table.isCellSelected(table.getSelectedRow(), table.getSelectedColumn())){
					int selRow=table.getSelectedRow();
					int selCol=table.getSelectedColumn();
				JOptionPane.showMessageDialog(null, 
						"位于 ("+selRow+","+selCol+")的元素: "+table.getValueAt(selRow,selCol), 
						"PLAIN_MESSAGE", JOptionPane.PLAIN_MESSAGE);
				}
				}
		   });
	}
	public void actionPerformed(ActionEvent e){
		if(e.getActionCommand().equals("增加行"))    
			defaultModel.addRow(new Vector());
		if(e.getActionCommand().equals("删除行")){
			int rowcount = defaultModel.getRowCount()-1; //getRowCount返回行数,rowcount<0代表已经没有任何行了。
			if(rowcount >= 0){
				defaultModel.removeRow(rowcount);				
				defaultModel.setRowCount(rowcount);
			}
		}		
		table.revalidate();
	}

	public static void main(String[] args) {
		new Java_2();
	}
}

综合应用

在考生文件夹中存有文件名为Java_3.java的文件。
该程序采用不同的方式来生成线程,其运行结果如下:
1
1
1
1
1

1
2
3
4
5

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

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


class MyThread extends Thread{
   public int x = 0;
//*********Found********
   public void _______________(){
    System.out.println(++x);
  }
}
//*********Found********
class RThread implements _______________{
   private int x = 0;
   public void run(){
        System.out.println(++x);
  }
}

public class Java_3 {
  public static void main(String[] args) throws Exception{
    for(int i=0;i<5;i++){
       Thread t = new MyThread();
	//*********Found********
       t._______________();
    }
    Thread.sleep(1000);
    System.out.println();
//*********Found********
    RThread r = new _______________();
//*********Found********
    for(int i=0;i<_______________;i++){
       Thread t = new Thread(r);
       t.start();
    }
  }
}

本题考查的是线程。
具体程序如下:

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


class MyThread extends Thread{
   public int x = 0;
//*********Found********
   public void run(){
    System.out.println(++x);
  }
}
//*********Found********
class RThread implements Runnable{
   private int x = 0;
   public void run(){
        System.out.println(++x);
  }
}

public class Java_3 {
  public static void main(String[] args) throws Exception{
    for(int i=0;i<5;i++){
       Thread t = new MyThread();
	//*********Found********
       t.start();
    }
    Thread.sleep(1000);
    System.out.println();
//*********Found********
    RThread r = new RThread();
//*********Found********
    for(int i=0;i<5;i++){
       Thread t = new Thread(r);
       t.start();
    }
  }
}
posted @   槑孒  阅读(355)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示