《Java语言程序设计》实验报告十二
学生姓名:郭倩 班级: 信息112 学号:201152275208
实验地点:经济管理中心证券模拟实验室 指导教师:赵利平
实验日期: 2012.05.29
实验环境:Windows 2000+JDK1.6
1. 实验目的
(1) 练习事件处理机制;
2. 实验内容:异常处理
(1) P153 练习1;
(2) P154 练习2;
3. 实验过程
报告撰写具体要求:上述实验内容要求写出源代码及运行结果。
实验内容(1):
//程序代码
// DivideByZero.java
public class DivideByZero
{
private int denominator, numerator, quotient;
public DivideByZero()
{
denominator = 3; numerator = 12;
quotient = quotient( numerator, denominator );
System.out.print("Quotient is " + quotient);
}
public int quotient ( int numerator, int denominator )
{
return numerator / denominator;
}
public static void main( String args[] )
{
DivideByZero application = new DivideByZero();
}
}
(3) 运行结果:Quotient is 4.
12/7: Quotient is 1.
发生异常
运行出错Exception in thread "main" java.lang.ArithmeticException: / by zero
at Exercise.DivideByzero.quotient(DivideByzero.java:15)
at Exercise.DivideByzero.<init>(DivideByzero.java:9)
at Exercise.DivideByzero.main(DivideByzero.java:19)
(4)加入try/catch语句块后,denominator值为0时,运行结果为:
I found exception java.lang.ArithmeticException: / by zero
实验内容(2)
//程序代码
// DivideByZeroGUI.java
import java.awt.*; // Container, GridLayout
import java.awt.event.*; // ActionListener
import javax.swing.*; // JFrame
public class DivideByZeroGUI extends JFrame
implements ActionListener
{
private JTextField numeratorField, denominatorField, outputField;
private int denominator, numerator, quotient;
public DivideByZeroGUI()
{
super( "除数为0异常" );
Container container = getContentPane();
container.setLayout( new GridLayout( 3, 2 ) );
container.add(
new JLabel( "输入被除数 ", SwingConstants.RIGHT ) );
numeratorField = new JTextField( 10 );
container.add( numeratorField );
container.add(
new JLabel( "输入除数并回车 ",
SwingConstants.RIGHT ) );
denominatorField = new JTextField( 10 );
container.add( denominatorField );
denominatorField.addActionListener( this );
container.add(
new JLabel( "结果 ", SwingConstants.RIGHT ) );
outputField = new JTextField();
container.add( outputField );
setSize( 425, 100 );
setVisible( true );
}
public void actionPerformed( ActionEvent event )
{
outputField.setText( "" );
numerator = Integer.parseInt( numeratorField.getText() );
denominator= Integer.parseInt( denominatorField.getText() );
quotient = quotient( numerator, denominator );
outputField.setText( Integer.toString(quotient) );
}
public int quotient( int numerator, int denominator )
{
return numerator / denominator;
}
public static void main( String args[] )
{
DivideByZeroGUI application = new DivideByZeroGUI();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
程序运行结果如下图所示:
(2)
没有异常
(3)是异常
12/a:122 161 169 174 184 269 599 4460 2478 20## 4502 676 855 990 712 1850 4460 20## 4630 20## 6044 2814 2886 2851 1633 820 705 492 52 499 449 48
原因:除数为0;除数为数值格式;
(4)加入NumberFormatException异常处理块后运行结果为:
12/0: I found exception java.lang.ArithmeticException: / by zero
12/1.5: I detected Exception java.lang.NumberFormatException: For input string: "1.5"
12/e: I detected Exception java.lang.NumberFormatException: For input string: "e"
(5)运行结果:12/0:∞ 12/1.5:8
4. 实验总结
心得体会:做实验要小心翼翼,注意Java大小区分
《Java开发技术》实验报告
实验序号:实验12 实验项目名称:数组
河南省高等教育自学考试实验报告册计算机及应用专业(本科段)《JAVA》姓名所属地市实验地点实验日期实验总成绩指导教师签名实验单位(…
五子棋JAVA实验报告一实验目的和要求1能够用编程语言实现一个简单的五子棋程序2在实际系统中使用实现人工智能的相关算法3进一步加深…
信息工程学院Java程序设计实习报告JAVA图形用户界面实验六Java图形用户界面1实验目的1掌握图形用户界面基本组件2了解如何使…
北京联合大学信息学院“面向对象程序设计”课程上机实验报告题目:JAVA上机实验心得体会姓名(学号):专业:计算机科学与技术编制时间…
Java语言程序设计实验报告实验序号3一实验目的及要求1进一步熟练Java语法和常用方法的使用2进一步熟练Java程序结构3进一步…
一、实训项目简易记事本二、实训目的和要求本次实训是对前面学过的所有面向对象的编程思想以及JAVAWEB编程方法的一个总结、回顾和实…
北京联合大学信息学院“面向对象程序设计”课程上机实验报告题目:JAVA上机实验心得体会姓名(学号):专业:计算机科学与技术编制时间…
徐州工程学院管理学院实验报告实验课程名称数据结构与算法实验地点经济管理教学实验中心20xx年3月至20xx年6月专业信息管理与信息…
Java程序设计实验报告题目研究java中的for循环院系专业信息与计算科学班级101001班姓名学号101001113导师20x…
Java程序设计实验指导报告书目录实验1熟悉Java开发环境2实验2简单的输入输出处理3实验3类的练习6实验4Java图形用户界面…
华东交通大学软件学院软件工程实训总结报告华东交通大学软件学院20xx年6周软件工程实训总结报告专业班级09软件电气4班学号20xx…