二级 JAVA 上机试题汇编
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
第 01 套:
1. 基本操作(1 小题,计 30 分)
注意:下面出现的“考生文件夹”均为%USER%
在考生文件夹中存有文件名为 Java_1.java 的文件,该程序是不完整的,请
在注释行“//**********Found**********”下一行语句的下划线地方填入
正确内容, 然后删除下划线,请勿删除注释行或改动其他已有语句内容。
存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
本题的要求是:
完善 Java_1.java 程序,并完成两个整数的输入,两个整数为:
最后按确定键退出程序。
给定源程序:
//计算两个整数的乘法
import javax.swing.JOptionPane;
public class Java_1 {
public static void main( String args[] ) {
int x, y, result;
String xVal, yVal;
xVal = JOptionPane.showInputDialog( "输入第 1 个整数:" );
yVal = JOptionPane.showInputDialog( "输入第 2 个整数:" );
//*********Found********
x = Integer.parseInt( __________________ );
y = Integer.parseInt( yVal );
result = x * y;
//*********Found********
JOptionPane._________________________( null, "两个数的积: " + result );
System.exit( 0 );
}
}
解题思路:
Java 程序修改如下:
第 1 处:需转换成整数的字符串变量,需填入 xVal
第 2 处:调用显示信息对话框,需填入 showMessageDialog
2. 简单应用(1 小题,计 40 分)
注意:下面出现的“考生文件夹”均为%USER%
在考生文件夹中存有文件名为 Java_2.java 的文件,该程序是不完整的,请
在注释行“//**********Found**********”下一行语句的下划线地方填入
正确内容, 然后删除下划线,请勿删除注释行或改动其他已有语句内容。
存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
本题的要求是:
阅读 Java_2.java 程序,该程序的功能是将本程序代码打印输出。完成程
序编写并运行。所得结果即本程序代码。
给定源程序:
import java.io.*;
public class Java_2{
//*********Found********
public static void main(String args[]) ___________ Exception{
long filePoint = 0 ;
String s;
RandomAccessFile file = new RandomAccessFile("Java_2.java","r");
long fileLength = file.length();
while (filePoint
inputPanel.add( new JLabel("从 1 至 1023" +"输入值:" ) );
final JTextField input = new JTextField( 10 );
input.addActionListener(
new ActionListener() {
public void actionPerformed( ActionEvent e ){
int val = Integer.parseInt( input.getText() );
if ( sieve.get( val ) )
status.setText( val + " 是一个素数 " );
else
status.setText( val +" 不是一个素数 " );
}
}
);
inputPanel.add( input );
c.add( inputPanel, BorderLayout.NORTH );
JTextArea primes = new JTextArea();
ScrollPane p = new ScrollPane();
//*********Found********
p.add( ________________ );
c.add( p, BorderLayout.CENTER );
//从 1 至 1023 设置所有位
int size = sieve.size();
for ( int i = 1; i < size; i++ )
sieve.set( i );
//执行 Eratosthenes 筛网算法
int finalBit = ( int ) Math.sqrt( sieve.size() );
for ( int i = 2; i < finalBit; i++ )
if ( sieve.get( i ) )
for ( int j = 2 * i; j < size; j += i )
sieve.clear( j );
int counter = 0;
for ( int i = 1; i < size; i++ )
if ( sieve.get( i ) ) {
primes.append( String.valueOf( i ) );
primes.append( ++counter % 7 == 0 ? "\n" : "\t" );
}
setSize( 300, 250 );
show();
}
public static void main( String args[] ){
Java_3 app = new Java_3();
//*********Found********
app.________________________(
new WindowAdapter() {
public void windowClosing( WindowEvent e ){
System.exit( 0 );
}
}
);
}
}
解题思路:
Java 程序修改如下:
第 1 处:文本区域添加到窗口,需填入 primes
第 2 处:注册监控器,需填入 addWindowListener
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
第 02 套:
1. 基本操作(1 小题,计 30 分)
注意:下面出现的“考生文件夹”均为%USER%
在考生文件夹中存有文件名为 Java_1.java 的文件,该程序是不完整的,请
在注释行“//**********Found**********”下一行语句的下划线地方填入
正确内容, 然后删除下划线,请勿删除注释行或改动其他已有语句内容。
存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
本题的要求是:
使程序按下列格式打印:
欢迎
你
参加
Java
考试
注意:
在输出的字符串中不含有空格。
给定源程序:
//用一个打印语句输出多行结果
public class Java_1
{
public static void main( String args[] )
{
//*********Found********
_________________________("欢迎\n 你\n 参加\nJava\n 考试");
}
}
解题思路:
Java 程序修改如下:
第 1 处:在屏幕上打印输出,需填入 System.out.println 或 System.out.print
2. 简单应用(1 小题,计 40 分)
注意:下面出现的“考生文件夹”均为%USER%
在考生文件夹中存有文件名为 Java_2.java 的文件,该程序是不完整的,请
在注释行“//**********Found**********”下一行语句的下划线地方填入
正确内容, 然后删除下划线,请勿删除注释行或改动其他已有语句内容。
存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
本题的要求是:
程序中 HandleButton 类是"Please press me!"按钮的监听器类。
完成程序,使在点击"Please press me!"按钮时在命令窗口中打印"The button is pressed!",并
且在点击窗口右上方的关闭窗口按钮时能够关闭窗口。
给定源程序:
import java.awt.*;
import java.awt.event.*;
\TAB
public class Java_2 extends Frame {
\TAB \TAB
\TAB public Java_2(String s){
\TAB \TAB super(s);
\TAB }
\TAB
\TAB public static void main(String args[]){\TAB \TAB
\TAB \TAB Java_2 fr = new Java_2("Testing");
\TAB \TAB Button b=new Button("Please press me!");
//*********Found********
b.addActionListener(__________________);
\TAB \TAB fr.add(b);
\TAB \TAB fr.setSize(200,200);
\TAB \TAB \TAB \TAB
\TAB \TAB fr.addWindowListener(new WindowAdapter(){
\TAB \TAB \TAB public void windowClosing(WindowEvent e) {
\TAB \TAB \TAB \TAB System.exit(0);
\TAB \TAB \
TAB }
\TAB \TAB });
//*********Found********
\TAB \TAB fr.setVisible(____________);\TAB
\TAB }
}
class HandleButton implements ActionListener{
public void actionPerformed(ActionEvent e){
\TAB System.out.println("The button is pressed!");
}
}
解题思路:
Java 程序修改如下:
第 1 处:为按钮注册监听器,需填入 new HandleButton()
第 2 处:将窗体设为可见,需填入 true
3. 综合应用(1 小题,计 30 分)
注意:下面出现的“考生文件夹”均为%USER%
在考生文件夹中存有文件名为 Java_3.java 的文件,该程序是不完整的,请
在注释行“//**********Found**********”下一行语句的下划线地方填入
正确内容, 然后删除下划线,请勿删除注释行或改动其他已有语句内容。
存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
本题的要求是:
该程序是测试以 0 作除数异常,在文本域中,显示出异常信息。完成程序
并正常运行,运行结果如图所示。
给定源程序:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class Java_3{
public static void main(String[] args){
ExceptTestFrame frame = new ExceptTestFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class ExceptTestFrame extends JFrame
{
public ExceptTestFrame()
{
setTitle("ExceptTest");
Container contentPane = getContentPane();
ExceptTestPanel panel = new ExceptTestPanel();
contentPane.add(panel);
pack();
}
}
class ExceptTestPanel extends Box{
public ExceptTestPanel(){
super(BoxLayout.Y_AXIS);
group = new ButtonGroup();
addRadioButton("整数被零除", newActionListener()
{
//*********Found********
public void ___________________(ActionEvent event)
{
//*********Found********
a[1] = 1 / (a.length - a.__________);
}
});
textField = new JTextField(30);
add(textField);
}
private void addRadioButton(String s, ActionListener listener)
{
JRadioButton button = new JRadioButton(s, false)
{
protected void fireActionPerformed(ActionEvent event)
{
try
{
textField.setText("No exception");
super.fireActionPerformed(event);
}
catch (Exception exception)
{
//*********Found********
textField.________(exception.toString());
}
}
};
button.addActionListener(listener);
add(button);
group.add(button);
}
private ButtonGroup group;
private JTextField textField;
private double[] a = new double[10];
}
解题思路:
Java 程序修改如下:
第 1 处:事件处理方法,需填入 actionPerformed
第 2 处:被零除,测试异常处理,需填入 length
第 3 处:设置文本框文字,需填入 setText
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
第 03 套:
1. 基本操作(1 小题,计 30 分)
注意:下面出现的“考生文件夹”均为%USER%
在考生文件夹中存有文件名为 Java_1.java 文件,请完善 Java_1.java 文件,
并进行调试,使程序结果为:
a b c d e f g h i
由于 Java_1.java 文件不完整,请在注释行“//*********Found*********”
下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行
或其他已有语句内容。
存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。
给定源程序:
import java.io.*;
public class Java_1 {
public static void main(String[] args) {
char[] charArray = {'a','b','c','d','e','f','g','h','i'};
char c ;
try{
//*********Found**********
DataOutputStream out = new ______________________(
new FileOutputStream("test.dat"));
for(int i =0; i