实验4 Java异常处理.doc
文本预览下载声明
实验4 Java异常处理
一、实验目的
1、理解异常的基本概念。
2、理解throws、try, catch语句的语法格式。
3、理解自定义异常类的定义和使用方法。
4、掌握Java的异常处理机制、方法与应用。
二、实验任务:
1、编写一程序实现成绩输入并校验学生成绩,当用户输入-1时表示输入结束。根据正确输入的成绩平均成绩。成绩用实数表示,如果用户输入一个不正确的成绩,如-80、大于100或字符等,程序应该抛出异常,并捕获异常。请使用try和catch语句实现对输入、计算过程中出现的异常进行处理。
2、声明一个异常类,即当除数为零时抛出的异常类DivideByZeroException,并在下列代码需要的地方进行异常抛出和异常捕获,以便用户输入出现错误时,程序具有容错功能。本题异常包括除数为零,以及输入数据格式错误,如数据中包含字母。
// DivideByZeroTest.java
// A simple exception handling example.
// Checking for a divide-by-zero-error.
import java.text.DecimalFormat;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class DivideByZeroTest extends JFrame implements ActionListener {
private JTextField input1, input2, output;
private int number1, number2;
private double result;
// Initialization
public DivideByZeroTest()
{
super( Demonstrating Exceptions );
Container c = getContentPane();
c.setLayout( new GridLayout( 3, 2 ) );
c.add( new JLabel( Enter numerator , SwingConstants.RIGHT ) );
input1 = new JTextField( 10 );
c.add( input1 );
c.add(
new JLabel( Enter denominator and press Enter , SwingConstants.RIGHT ) );
input2 = new JTextField( 10 );
c.add( input2 );
input2.addActionListener( this );
c.add( new JLabel( RESULT , SwingConstants.RIGHT ) );
output = new JTextField();
c.add( output );
setSize( 425, 100 );
show();
}
// Process GUI events
//Throwing an exception when data format is wrong or attempted to divide by zero
public void actionPerformed( ActionEvent e )
{
DecimalFormat precision3 = new DecimalFormat( 0.000 );
output.setText( );
number1 = Integer.parseInt( input1.getText() );
number2 = Integer.parseInt( input2.getText() );
result = quotient( number1, number2 );
output.setText( precision3.format( result ) );
}
// Definition of method quotient. Used to demonstrate
// throwing an exception when a divide-by-zer
显示全部