请使用NetBeans打开考生文件夹下的项目Java_1,该项目中的源程序文件Java_1.java是不完整的,请 在注释行"//*********Found*********"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删 除注释行或改动其他已有语句内容。存盘时不得改变原有文件的文件名及存放目录。 本题的要求是:程序在对话框中打印结果如下:
评析:
本题考查的是JOptionPane类。
Swing中提供了JOptionPane类来实现类似Windows平台下的MessageBox的功能,利用JOptionPane类中 的各个static方法来生成各种标准的对话框,实现显示出信息、提出问题、警告、用户输入参数等功能。 这些对话框都是模式对话框,可以采用showXXXDialog()来显示,如showConfirmDialog()显示确认对话框、 showInputDialog()显示输入文本对话框、showMessageDialog()显示信息对话框、showOptionDialog()显 示选择性的对话框。 本题使用的实例是显示MessageDialog,格式如下: JOptionPane.showMessageDialog(null, "在对话框内显示的描述性的文字", "标题条文字串", JOptionPane.ERROR_MESSAGE); 具体程序如下: import javax.swing.JOptionPane; public class Java_1 { public static void main( String args[] ) { //*********Found******** JOptionPane.showMessageDialog( null, "欢迎\n你\n参加\nJava\n考试!" ); System.exit( 0 ); } } // terminate the program //导入JOptionPane类
2
请使用NetBeans打开考生文件夹下的项目Java_2,该项目中的源程序文件Java_2.java是不完整的,
请在注释行"//*********Found*********"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿 删除注释行或改动其他已有语句内容。存盘时不得改变原有文件的文件名及存放目录。 本题的要求是:已知一个二维整型数组,要求将其以5行4列对齐的格式输出。 输出格式如下: 1 1 1 1 2 2 2 2
3 3 3 3 4 4 4 4 5 5 5 5 评析: 本题考查的是for循环的嵌套。
本题首先要理解二维数组的定义,例如int[][] aMatrix = {{1,1,1,1},{2,2,2,2},{3,3,3,3},{4,4,4,4},{5,5,5,5}};表示该二维数组由5个一维数组aMatrix[0]、 aMatrix[1]、aMatrix[2]、aMatrix[3]、aMatrix[4]组成,每个一维数组都有4个元素。 其次要注意本题的格式的控制,因为题目要求以5行4列对齐的格式输出,可以通过 System.out.println()来控制输出行。println()是用于换行,而print()只用于输出若干个字符,若干个 字符的格式由括号内的格式控制。例如本题"System.out.print(aMatrix[i][j]+" "); "表示输出一个字符再加一个空格。 最后,循环的嵌套
问题,本题通过aMatrix.length控制外层for循环的循环次数,即控制输出5行;内 层for循环的条件j
,2,2},{3,3,3,3},{4,4,4,4},{5,5,5,5}}; int i = 0; //循环变量 int j = 0; //循环变量 //print matrix for(i = 0; i < aMatrix.length; i++) { //*********Found******** for(j=0;j程序文件Java_3.java是不完整的,
请在注释行"//*********Found*********"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿 删除注释行或改动其他已有语句内容。存盘时不得改变原有文件的文件名及存放目录。 本题的要求是:下面是整数除法计算的程序,要求在出现异常时,能抛出异常信息。 考虑两种异常: 1)输入非数字除数 2)输入除法分母为零 该程序运行的三种结果状态如下: 1)输入两个合法整数:
2)输入非数字除数:
3)输入除数为零:
评析:
本题考查的是对话框的综合应用。 1)本题首先继承了JFrame类和实现了ActionListener接口,程序中用super( "示范异常" );调用了 JFrame类的构造函数, 用于显示文本框的标题栏。 另外实现了ActionListener接口的actionPerformed方法, 用于处理 GUI 事件。 2)在Java中浮点数包括基本型float、double,以及对象包装类型的Float和Double,对于这些浮点数 的输出,输出格式都是按照如下规则进行的: 如果绝对值大于0.001、小于10000000,那么就以常规的小数形式表示。 如果在上述范围之外,则使用科学计数法表示。即类似于1.234E8的形式。 所以Java中浮点数默认的表示形式统一为普通小数形式输出的问题,可以使用 java.text.DecimalFormat进行转换,例如本题中DecimalFormat precision3 = new DecimalFormat( "0.000" )是用于保留3位小数。 3)本题还考查了使用showMessageDialog()显示信息对话框,格式如下:
JOptionPane.showMessageDialog(null, "在对话框内显示的描述性的文字", "标题条文字串", JOptionPane.ERROR_MESSAGE); 4)对于本题的改错方面,主要是需要熟悉包中的类。例如本题中出现JFrame类,就必需包含 javax.swing.*; 具体程序及其语句解释如下: import java.awt.event.*; import java.awt.*; import javax.swing.*; import java.text.*; //*********Found******** public class Java_3 extends JFrame implements ActionListener { private JTextField input1, input2, output; private int number1, number2; private double result; // 初始化 public Java_3() { //*********Found******** super( "示范异常" ); //调用父类JFrame的构造函数 //调用父类JFrame的方法getContentPane() //设置布局管理器,其布局为3行2列 //在容器c中加入标签"输入分子"
Container c = getContentPane();
c.setLayout( new GridLayout( 3, 2 ) );
c.add( new JLabel( "输入分子",SwingConstants.RIGHT ) ); c.add( input1 ); //将文本框的
对象input1放入c容器中
input1 = new JTextField( 10 ); //创建一个长度为10个字符的文本框的对象input1
c.add(new JLabel( "输入分母和回车",SwingConstants.RIGHT ) ); 分母和回车"
//在容器c中加入标签"输入
input2 = new JTextField( 10 ); //创建一个长度为10个字符的文本框的对象input2 c.add( input2 ); //将文本框的对象input2放入c容器中 //注册监听器 input2.addActionListener( this );
c.add( new JLabel( "计算结果", SwingConstants.RIGHT ) ); //在容器c中加入标签"计算结果" output = new JTextField(); //创建文本框对象output c.add( output ); //将文本框的对象output放入c容器中 //设置所显示的对话的框的大小
setSize( 300, 100 ); show(); } //处理 GUI 事件
public void actionPerformed( ActionEvent e )
{ DecimalFormat precision3 = new DecimalFormat( "0.000" ); precision3,使得double型的数据转换成为保留3位小数位数输出 output.setText( "" ); // 空的JTextField输出 try { number1 = Integer.parseInt( input1.getText() ); number2 = Integer.parseInt( input2.getText() ); result = quotient( number1, number2 ); //*********Found******** output.setText(precision3.format(result)); 文本框对象output中 } catch ( NumberFormatException nfe ) { //*********Found******** JOptionPane.showMessageDialog(this, //显示"非法数字格式"的信息对话框 "你必须输入两个整数", "非法数字格式", JOptionPane.ERROR_MESSAGE ); } catch ( Exception dbze ) { //*********Found******** JOptionPane.showMessageDialog(this, //显示"除数为零"的信息对话框 "除法异常", "除数为零", JOptionPane.ERROR_MESSAGE ); } } //将保留3位小数位数的除法结果输出到 //创建DecimalFormat对象
// 定义求商的方法,如遇除数为零时,能抛出异常。 public double quotient( int numerator, int denominator )throws Exception { if ( denominator == 0 ) throw new Exception(); return ( double ) numerator / denominator; } public static void main( String args[] ) { Java_3 app = new Java_3(); app.addWindowListener(new WindowAdapter(){ public void windowClosing( WindowEvent e )
{ e.getWindow().dispose(); System.exit(0); } } ); } }