面向对象程序设计课程设计报告专业计算机科学与技术姓名吐尔巴依班级软件2班学号12001216 题目理财助手日期2014-12-6功能描述这个设计是一款具有简单的理财功能的小设计,可以选择开销的类型进行输入,当你每月的消费输入完成之后,最后统计完成之后输出你这个月的消费去向。
开销房屋贷款汽车贷款汽油费用请客开销购物花销贷款还款年限利率贷款年限利率汽油类型费用日期费用支出目的支出目的费用设计思路1.建立一个抽象类loan和一个贷款接口,2.在建立一个FD类(房屋贷款类)继承Daikuan接口,3.carloan(汽车费用)继承loan类并且用daikuan这个接口实现,4.建立一个请客吃饭类Eatloan来继承loan类,在建立shopping类继承Eatloan5 switch语句进行输入,跳转到以上类。
运行结果选择界面房屋贷款类,汽车贷款:汽油费用请客开销:购物开销:查看这个月的消费:源文件:import java.io.*;//总的花销的抽象类abstract class Loan{String type;//类型float price;//花费abstract String getType();abstract float getPrice();}//贷款借口interface Sf{float getMoney(int years,float i);}//房屋贷款类class Fd implements Sf{float fwz;//房屋总贷款public float getMoney(int years,float i)//计算每月还贷{return fwz*(1+i/100)/(years*12);}}//汽车贷款、汽油费用class CarLoan extends Loan implements Sf{float qch;CarLoan(){System.out.println("汽车贷款。
");}CarLoan(String s,float p){super.type=s;super.price=p;}public float getMoney(int year,float i){return qch*(1+i/100)/(year*12);}String getType(){return super.type;}float getPrice(){return super.price;}}//请客吃饭类class EatLoan extends Loan{EatLoan(String s,float p){super.type=s;super.price=p;}String getType(){return super.type;}float getPrice(){return super.price;}}//购物类class Shoping extends EatLoan{String date;Shoping(String s,float p,String d){super(s,p);date=d;}String getDate(){return date;}}public class Aa{public static void main(String args[]) throws IOException {Fd h=null;CarLoan c=null;CarLoan c1=null;EatLoan e=null;Shoping s=null;float sum=0.0f,p1=0.0f,p2=0.0f;int y1=0,y2=0;InputStreamReader isr=new InputStreamReader(System.in);BufferedReader br=new BufferedReader(isr);int x=0;String a;while(x<3){System.out.println("请选择开销去向");System.out.println("1.交付本月房屋贷款(请输入房屋贷款还款年限和利率)"); System.out.println("2.交付本月汽车贷款(请输入汽车贷款还款年限和利率)"); System.out.println("3.交付本月汽车汽油费用(输入汽油类型和费用)"); System.out.println("4.本月请客开销(输入支持目的和费用)");System.out.println("5.本月购物花销(输入支出目的、费用和日期)"); System.out.println("6.查询都花费了哪些");int n=Integer.parseInt(br.readLine());switch(n){case 1:h=new Fd();System.out.print("请输入房屋贷屋贷款总额:");h.fwz=Float.parseFloat(br.readLine());System.out.print("请输入贷款年限:");y1=Integer.parseInt(br.readLine());System.out.print("请输入年利率:");p1=Integer.parseInt(br.readLine());sum=sum+h.getMoney(y1,p1);break;case 2:c=new CarLoan();System.out.print("请输入汽车总贷款:");c.qch=Float.parseFloat(br.readLine());System.out.print("请输入贷款年限:");y2=Integer.parseInt(br.readLine());System.out.print("请输入年利率:");p2=Integer.parseInt(br.readLine());sum=sum+c.getMoney(y2,p2);break;case 3:System.out.println("请输入汽油类型:");String str=br.readLine();System.out.println("请输入花费:");float p=Float.parseFloat(br.readLine());c1=new CarLoan(str,p);sum=sum+c1.getPrice();break;case 4:System.out.println("请输入请客原因:");str=br.readLine();System.out.println("请输入花费:");p=Float.parseFloat(br.readLine());e=new EatLoan(str,p);sum=sum+e.getPrice();break;case 5:System.out.println("请输入购物目的:");str=br.readLine();System.out.println("请输入花费:");p=Float.parseFloat(br.readLine());System.out.println("请输入购物时间:");String dt=br.readLine();s=new Shoping(str,p,dt);sum=sum+s.getPrice();break;case 6:System.out.println("总的花费为:"+sum);System.out.println("花费详情如下:");if(h!=null)System.out.println("房屋:"+h.getMoney(y1,p1));if(c!=null)System.out.println("买汽车:"+c.getMoney(y2,p2));if(c1!=null)System.out.println(c1.getType()+" "+c1.getPrice());if(e!=null)System.out.println(e.getType()+" "+e.getPrice());if(s!=null)System.out.println(s.getType()+" "+s.getPrice()+" "+s.getDate());default:System.out.println("输入有误请重新输入:");break;}System.out.println("继续输入y,否则输入n");a=br.readLine();if(a.equals("n"))x=5;}}}。