操作题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®;
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();
    }
  }
}

 
  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值