文档详情

实验4 Java异常处理.doc

发布:2017-12-17约6.87千字共7页下载文档
文本预览下载声明
实验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
显示全部
相似文档