b:(9.0+1.7i),c:(9.0+1.7i),b==c?true,b.equals(c)?true b:(9.0+1.7i),c:(9.0+1.7i),b==c?false,b.equals(c)?true
(3) 设计三角形类,继承图形抽象类,计算三角形面积和周长。 调试结果:面积是100.0
周长是48.0 高10.0 底20.0
(4) 包的建立与使用:设计计算器类Calculator,计算加、减、乘、除和立方体体积,并且打包为mypackage。观察源文件目录下是否生成了mypackage文件夹,在该文件夹中是否有Calculate.class文件。编辑PackageDemo.java,保存在Calculator.java同一目录下,引用计算器类的各方法显示计算结果。 调试结果:根据提示输入指令!
是否继续Y/N? y
输入第一个数: 23
输入计算符号:+ - * / +
输入第二个数: 23
23+23=46 是否继续Y/N? n
程序退出
(5)结果:
Boss —— HohnSmith:
父类调用earnings方法得:800.0 子类调用earnings方法得:800.0 CommissionWorkerSueHones: 父类调用earnings方法得:403.0 子类调用earnings方法得:403.0 pieceWoeker —— BobLeis: 父类调用earnings方法得:500.0 子类调用earnings方法得:500.0 hourlyWorker —— Karenprice: 父类调用earnings方法得:550.0 子类调用earnings方法得:550.0
分析:Employee的每个子类都声明为final,因为不需要再继承它们生成子类。在主测试类Test中测试各类雇员工资计算结果。 (6)结果: 1.正常值结果: 请输入除数:1 请输入被除数:2 商为:2
2.除数为0的结果:
请输入除数:0 请输入被除数:1 除数为0的异常
3.数值异常的结果: 请输入除数:2.1 数值转化有关的异常
分析:用三个catch语句,分别捕获三种异常情况 IOException e 定义IO的异常
NumberFormatException e 定义数值转化有关的异常 Exception e 定义除数为0的异常 (8)编写程序包含自定义异常MyException,当100被13和4除时抛出该异常,其余除数显示商值。
调试结果:请输入实数除法运算的被除数:100
请输入除数:4 程序结束。
Exception in thread \cc.MyException: 不符规范
at cc.DoubleDivideA.division(DoubleDivideA.java:45) at cc.DoubleDivideA.main(DoubleDivideA.java:24) 请输入实数除法运算的被除数:100
请输入除数:13 程序结束。
Exception in thread \cc.MyException: 不符规范
at cc.DoubleDivideA.division(DoubleDivideA.java:45) at cc.DoubleDivideA.main(DoubleDivideA.java:24) 请输入实数除法运算的被除数:100
请输入除数:2 商结果:50.0 程序结束。 分析:
在实验中用三个catch语句,分别捕获三种异常情况IOException e 定义IO的异常NumberFormatException e 定义数值转化有关的异常Exception e 定义除数为0的异常
实验项目名称: 图形用户界面 实验学时: 7 同组学生姓名: ———— 实验地点: 实验日期: 实验成绩: 批改教师: xxxxx 批改时间:
一、实验目的和要求
(1)掌握Swing组件的使用方法;
(2)熟练掌握Swing中常用布局管理器的使用方法; (3)掌握用户界面动作与事件的处理程序的编写方法; (4)熟练掌握构造用户界面的方法和常见界面元素的使用; (5)熟练掌握Java绘图的主要方法。
(6)了解线程的基本概念和多线程程序设计的基本方法; (7)调试程序要记录调试过程中出现的问题及解决办法;
(8) 编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试
经验;
(9)做完实验后给出本实验的实验报告。
二、实验仪器和设备
奔腾以上计算机,Windows 操作系统,装有JDK1.6和MyEclipse8.5软件。
三、实验过程
1. 计算器设计
2. 整数进制转换
将一个十进制整数分别转换成二进制、八进制和十六进制整数。
3. 模拟裁判评分。
设计如图所示图形界面,显示n个裁判的评分,根据制定规则计算出最后得分。要求:图形界面采用表格显示裁判评分,随裁判人数变化而变化;指定分数范围,若超出,则异常处理;
得分规则有指定接口约定,由多个接口对象给出多种得分规则,如求平均数值,或去掉一个最高分和一个最低分后,再求平均值。
4. 编译运行下例,然后修改程序,当使用鼠标单击后在另一位置重新绘制月亮。 【例】 在Applet中画月亮。 import java.awt.*;
import java.applet.Applet;
public class MoonApplet extends Applet {
public void paint(Graphics g) //在Applet上绘图 {
g.setColor(Color.red);
g.drawString(\
int x=0,y=0; //圆外切矩形左上角坐标 x = this.getWidth() /4; y = this.getHeight() /4;
int diameter = Math.min(this.getWidth()/2, this.getHeight()/2); //圆的直径
g.setColor(Color.yellow);
g.fillOval(x,y,diameter,diameter); //画圆
g.setColor(this.getBackground()); //设置为背景色 g.fillOval(x-20,y-20,diameter,diameter); //画圆 } }
5.根据阿基米德螺线的极坐标方程:r=aθ画出相应图形。
要求:
(1)注意选用适当的布局管理器设计图形用户界面,比较它们的布局情况;
(2)养成良好的编程习惯,严格按照命名规则为包、类及类成员命名,将每个程序打包,包的命名方式如three.num1表示实验三的第一题; (3)学会使用MyEclipse的各种调试方法;
(4)学会查阅Java API文档,如查找事件类的处理里方法。
程序清单:
(建议程序中适当添加注释信息,增强可读性;较长程序可分栏书写,保证报告排版整洁美观。)
1. 计算器设计
import java.awt.*; import java.awt.event.*;

