试题与答案

注意:下面出现的“考生文件夹”均为%USER%。在考生文件夹中存有文件名为Java_

题型:问答题

题目:

注意:下面出现的“考生文件夹”均为%USER%。

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

本题的要求是:

下面是整数除法计算的程序,要求在出现异常时,能抛出异常信息。

考虑两种异常:

(1)输入非数字除数。

(2)输入除法分母为零。

该程序运行的三种结果状态如下:

(1)输入两个合法整数:

(2)输入非数字除数:

(3)输入除数为零:

给定源程序:

import java.text.DecimalFormat;

import javax.swing.*;

import java.awt.*;

import Java.awt.event.*;

//*********Found********

public class Java_3 extends______implements ActionListener

private JTextField input1, input2, output;

private int number1.number2;

private double result;

//初始化

public Java_3()

//*********Found********

______("示范异常");

Container c=getContentPane();

c.setLayout(new GridLayout(3, 2));

c.add(new JLabel("输入分子",

SwingConstants.RIGHT));

input1=new JTextField(10);

c.add(input1);

c.add(

new JLabel("输入分母和回车",

SwingConstants.RIGHT));

input2=new JTextField(10);

c.add(input2);

input2.addActionListener(this);

c.add(new JLahel("计算结果",SwingConstants RIGHT));

output=new JTextField();

c.add(output);

setSize(425, 100);

show();

//处理GUI事件

public void actionPerformed(ActionEvent e)

DecimalFormat precision3=new DecimalFormat("0.000");

output.setText("");//空的JTextField输出

//*********Found********

______

number1=Integer.parseInt(input1.getText());

number2=Integer.parseInt(input2.getText());

result=quotient(number1,number2);

//*********Found********

output.setText(______);

catch(NumberFormatException nfe)

JOptionPane showMessageDialog(this,

"你必须输入两个整数",

"非法数字格式",

JOptionPane.ERROR_MESSAGE);

catch(Exception dbze)

//*********Found********

______(this,

"除法异常",

"除数为零",

JOptionPane.ERRORMESSAGE);

//定义求商的方法,如遇除数为零时,能抛出异常

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();

ystem exit(0);

);

/*JOptionPane类的常用静态方法如下:

showInputDialog()

showConfirmDialog()

showMessageDialog()

showoptionDialog()

*/

答案:

参考答案:

JFrame super或newJFrame try precision3.format(result)或Double.toString(result)等 JOptionPane.showMessageDialog

解析:

第1处:扩展窗体,需填入JFrame。第2处:调用父类中特定的构造函数,需填入super或newJFrame。第3处:异常时的入口,需填入try。第4处:文本框内容的显示,需填入precision3.format(result)或Double.toString(resuit)等。第5处:信息对话框,需填入JOptionPane.showMessageDialog。

试题推荐
题型:填空题

请补充main函数,改函数的功能是,把一个二维字符数组每行字符串最大的字符拷贝到字符数组s中。
例如,如果str[3]="efjh","cfimls","owys",则s;"hsy"。
注意:部分源程序给出如下.
请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。
试题程序:
#inc lude<stdio, h>
main()

int i=0;
char *str [3] = "efjh", "efknls",
"owys" ;
char **p;
char s [8];
clrscr 0;
【1】;
for (i=O; i<3; i++)

s [i] =*p [i];
while (*p [i] )

if (S [i] <*p [i] )
s [i] =*p[i];
【2】;


【3】;
printf(" new string \n");
puts (s);

查看答案
微信公众账号搜索答案