Java实验三实验报告(共7页).doc
精选优质文档-倾情为你奉上淮海工学院计算机工程学院实验报告书课程名:Java语言实验与课程设计指导 题 目: 实验3深入面向对象编程 班 级: 学 号: 姓 名: 评语:成绩: 指导教师: 批阅时间: 年 月 日专心-专注-专业实验题目:1. 定义一个学生类,定义一个大学生类和小学生类,这两个类是学生类的子类;定义一个选课接口,由大学生类实现该接口,定义一个年龄异常处理,当小学生年龄小于7岁时,弹出异常。2. 定义一个银行卡类,定义一个信用卡类和普通银行卡类,这两个类是银行卡类的子类;定义一个透支的接口,信用卡可以透支,普通银行卡不可以透支。定义一个取款异常和透支异常,当普通银行卡取款超过银行卡余额时,弹出“取款异常”;当信用卡透支超过2万元时弹出“透支异常”。实验代码:题1源代码:import java.awt.*;class studentString number,name,sex,bj;int age;student(String xuehao,String xingming,String xingbie,int nianling,String banji)number=xuehao;name=xingming;sex=xingbie;age=nianling;bj=banji;interface xuankeabstract void select(String s);interface illegalabstract void illegal(int s);class primary extends student implements illegalString xx;primary(String xuehao,String xingming,String xingbie,int nianling,String banji,String xiaoxue)super(xuehao,xingming,xingbie,nianling,banji);xx=xiaoxue;public void illegal(int s)age=s;if(age<7)System.out.println("n出错学生 "+name+" 的年龄过小!");class college extends student implements xuankeString dx,xk;college(String xuehao,String xingming,String xingbie,int nianling,String banji,String daxue)super(xuehao,xingming,xingbie,nianling,banji);dx=daxue;public void select(String s)xk=s;public class test_1public static void main(String args) primary p1=new primary("1","张三","男",13,"五(1)班","ZZZ小学"); System.out.println(p1.number+" "+p1.name+" "+p1.sex+" "+p1.age+" "+p1.bj+" "+p1.xx); p1.illegal(p1.age); primary p2=new primary("n2","小红","女",6,"一(1)班","YYY小学"); System.out.println(p2.number+" "+p2.name+" "+p2.sex+" "+p2.age+" "+p2.bj+" "+p2.xx); p2.illegal(p2.age); college c1=new college("3","小茗","女",20,"软件112","XXX大学"); c1.select("现代密码学"); System.out.print("n"+c1.number+" "+c1.name+" "+c1.sex+" "+c1.age+" "+c1.bj+" "+c1.dx+" "+c1.xk+"n");实验结果:题2源代码:import java.util.*;class bankcardString kh,name;double yue;bankcard(String kahao,String yezhu,double shengyu)kh=kahao;name=yezhu;yue=shengyu;interface touzhiabstract void tz(double s);abstract void tzye(double s);abstract void illegal();interface qkillegalabstract void illegal();class common extends bankcard implements qkillegalcommon(String kahao,String yezhu,double shengyu)super(kahao,yezhu,shengyu);public void warning()System.out.println("普通银行卡不可透支!");public void illegal()System.out.println("取款超额!");class xinyongka extends bankcard implements touzhidouble tzye;xinyongka(String kahao,String yezhu,double shengyu)super(kahao,yezhu,shengyu);public void tz(double s)tzye=s;public void tzye(double s) double t=20000+yue-s;if(s>yue)System.out.println(t);public void illegal()System.out.println("透支超额!");public class test_3public static void main(String args)common c1=new common("","张三",1200.00);System.out.println("卡号:"+c1.kh+"业主:"+c1.name+"余额:"+c1.yue);c1.warning();System.out.println("请输入取款金额:");Scanner s1=new Scanner(System.in);double b=s1.nextDouble();if(b<c1.yue)double c=c1.yue-b;System.out.println("银行卡余额为:"+c);elsec1.illegal(); System.out.println("nn");xinyongka x1=new xinyongka("","李四",500.00);System.out.println("卡号:"+x1.kh+"业主:"+x1.name+"余额:"+x1.yue);System.out.println("信用卡可透支!透支金额为20000元!");System.out.println("请输入要取款金额:");Scanner s2=new Scanner(System.in);double a=s2.nextDouble();if(a<=x1.yue) double d=x1.yue-a; System.out.println("银行卡余额为:"+d); else if(a>x1.yue&&a<=(20000+x1.yue) System.out.println("透支余额剩余:"); x1.tzye(a); else x1.illegal();实验结果:普通银行卡类:输入普通银行卡取款金额若输入金额小于余额 则若大于余额则信用卡类:输入取款金额,若输入金额小于余额 则若输入金额大于余额小于透支金额与余额之和,则若大于透支金额与余额之和,则