XX学院java实验报告 实验五 面向对象综合实验
一、实验目的
1.熟悉类的定义;
2.掌握对象的声明、实例化及成员的引用; 3.掌握构造方法及实例方法的区别与用法。 二、实验内容
多数用户对去银行办理存款、取款等业务并不默生,用户自然感觉到了通过计算机办理业务的方便、快捷,也自然对编写出银行系统程序的程序员发出由衷的敬意。实际上,当我们具备了面向对象编程的知识以后,我们也能编写出相应的程序。
程序框架如下,将代码补充完整:
2. 设计一个银行帐户类,成员变量包括账号、储户姓名、开户时间、身份证号码、存款余额等帐户信息,成员方法包括存款、取款操作。
package bank; //创建程序包
import java.util.*; class BankCount { int id;
String name,date; float money;
public BankCount(int id,String name,String date,float money) //构造方法
//引入程序包 //定义类
{//方法体 this.id=id; }
class BCOption
{ Vector vec=new Vector(); //对象声明与实例化 static int count=0; //类中静态变量的定义
public void kaihu(BankCount bc) //方法体,实现开户功能 //实例方法 {
count++;
vec.add(bc); }
public void moneyOut(int id, float outmoney) //方法体,实现取钱功能 {
BankCount bc = (BankCount)vec.get(id);
11
}
this.name=name; this.date=date; this.money=money;
XX学院java实验报告
bc.money -=outmoney; vec.set(id, bc); }
public void moneyIn(int id, float inmoney) {//方法体,实现存钱功能
BankCount bc = (BankCount)vec.get(id); bc.money +=inmoney; vec.set(id, bc);
}
public void query(int id)
{//方法体,查询并输出账户信息 BankCount bc = (BankCount)vec.get(id);
System.out.println(bc.id+\+bc.name+\+bc.date+\+bc.money); }
public static void main(String args[]) {//实现账户的相关操作
BCOption bco = new BCOption();
bco.kaihu(new BankCount(1,\,\,12)); bco.query(0);
12
XX学院java实验报告
} }
三、实验要求
1、根据题目要求完成程序中没有完成的模块。 2、写好上机报告。
实验六 异常处理
一、实验目的
1.熟悉异常的抛出与捕获的含义; 2.掌握异常捕获与处理的方法; 3.能自定义异常。 二、实验内容
现在多数学校的成绩管理都由计算机进行管理,这就需要有相应的应用程序。编写成绩管理应用程序,其中有成绩录入模块,成绩录入过程中,难免出现录入数据的类型出现错误,或录入的成绩不在合理的范围。在成绩录入过程中,若出现上述错误,程序应该如何处理。 程序框架如下,将代码补充完整:
import javax.swing.JOptionPane;
class 负分异常 extends Exception //当录入了负分时。此处应用了自定义异常 { }
class 高分异常 extends Exception //当录入分超过100时。应用了自定义异常 { }
public class ExceptionDemo {
负分异常(int i){
System.out.println(\分数为负数\); }
高分异常(int i ){
System.out.println(\分数过高\); }
static final int number=2; int score[]=new int[number];
public void 检查分数(int 分数) throws 负分异常,高分异常 //下面方法中判断如果录入的成绩不合{ if(分数 >100) throw new 高分异常(分数); //通过throw,人工抛出异常 if(分数 <0) throw new 负分异常(分数); }
public void 录入成绩()
13
理,则抛出异常,但本方法并不处理异常,仅声明了异常
XX学院java实验报告
{ int i;
for(i=0;i score[i]=Integer.parseInt(JOptionPane.showInputDialog(\请输入第\+(i+1) +\个同学的成绩\)); }catch(NumberFormatException e) //在try{…….}catch间的语句中若产生异常,则捕获 异常,直接进行异常处理 { } } 14 try{ 检查分数(score[i]); //在检查分数模块中,可能产生高分异常对象,也可能产生低分异}catch(高分异常 e){ System.out.println(e); 常对象,根据不同情况,进行不同处理 }catch(负分异常 e){ System.out.println(e); } } } public void 输出成绩() { System.out.println(score[0]); System.out.println(score[1]); } public static void main(String arg[]) { ExceptionDemo demo = new ExceptionDemo(); demo.录入成绩(); demo.输出成绩(); } XX学院java实验报告 三、实验要求 1、根据题目要求完成程序中没有完成的模块。 2、写好上机报告。 实验七:图形用户界面设计(一) 一、 实验目的: 1. 巩固图形用户界面设计的方法 2. 掌握事件处理的设计方法 二、 实验内容: 1.绘制如下形式的图形界面,要求:窗体背景为蓝色,中间为黄色方格。 import java.awt.*; public class Test{ } class F extends Frame{ public static void main(String args[]){ } new F(); F(){ int x,y,w,h; x = 200;y = 200;w = 200;h = 200; setBounds(x,y,w,h); setBackground(Color.yellow); Panel p = new Panel(); p.setBounds(x/4,y/4,w/2,h/2); p.setBackground(Color.blue); setLayout(null); 15