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();
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!