车险保单信息打印(AutoPolicy Class)
来源:互联网 发布:linux 创建swap分区 编辑:程序博客网 时间:2024/04/28 06:20
业务逻辑:
1. 车险保单类包括客户号、保险标的-车型、所在州(美国)等属性,及setter, getter
2. 还包括判断所在州是否适用“no fault insurance(无过失保险)”的方法:isNoFaultState
3. 判断业务逻辑是否正确,需要具有相应的业务知识,需要花费额外的精力
代码如下:
//JHTP Exercise 5.30: Modified AutoPolicy Class//by pandenghuang@163.com/**(Modified AutoPolicy Class) Modify class AutoPolicy in Fig. 5.11 to validate the two-letterstate codes for the northeast states. The codes are: CT for Connecticut, MA for Massachusetts, MEfor Maine, NH for New Hampshire, NJ for New Jersey, NY for New York, PA for Pennsylvaniaand VT for Vermont. In AutoPolicy method setState, use the logical OR (||) operator(Section 5.9) to create a compound condition in an if…else statement that compares the method’sargument with each two-letter code. If the code is incorrect, the else part of the if…else statementshould display an error message. In later chapters, you’ll learn how to use exception handling to indicatethat a method received an invalid value.*/import java.util.Scanner;public class AutoPolicy { private int accountNumber; // policy account number private String makeAndModel; // car that the policy applies to private String state; // two-letter state abbreviation // constructor public AutoPolicy(int accountNumber, String makeAndModel) { this.accountNumber = accountNumber; this.makeAndModel = makeAndModel; } // sets the accountNumber public void setAccountNumber(int accountNumber) { this.accountNumber = accountNumber; } // returns the accountNumber public int getAccountNumber() { return accountNumber; } // sets the makeAndModel public void setMakeAndModel(String makeAndModel) { this.makeAndModel = makeAndModel; } // returns the makeAndModel public String getMakeAndModel() { return makeAndModel; } // sets the state public String setState(String state) { String result=""; if(state.equals("CT") || state.equals("MA") || state.equals("ME") || state.equals("NH") || state.equals("NJ") || state.equals("NY") || state.equals("PA") || state.equals("VT")){ this.state = state; result="OK"; } else{ System.out.println("抱歉,暂不支持您所输入的州的业务"); this.state="N/A";} return result; } // returns the state public String getState() { return state; } // predicate method returns whether the state has no-fault insurance public String isNoFaultState() { String noFaultState; // determine whether state has no-fault auto insurance switch (getState()) // get AutoPolicy object's state abbreviation { case "MA": case "NJ": case "NY": case "PA": noFaultState = "是"; break; case "N/A": noFaultState= "不确定"; break; default: noFaultState = "不是"; break; } return noFaultState; } public static void main(String[] args) { int accountNumber=0; String makeAndModel=""; String state=""; Scanner input=new Scanner(System.in); while (accountNumber!=-1){ System.out.print("请输入客户号(输入-1退出):"); accountNumber=input.nextInt(); if(accountNumber==-1) break; System.out.print("请输入车型:"); makeAndModel=input.next(); AutoPolicy ap=new AutoPolicy(accountNumber,makeAndModel); System.out.print("请输入州名:"); state=input.next(); ap.setState(state); policyInNoFaultState(ap); } } // method that displays whether an AutoPolicy // is in a state with no-fault auto insurance public static void policyInNoFaultState(AutoPolicy policy) { System.out.println("车险保单信息:"); System.out.printf( "客户 #: %d; 车型: %s;%n%s是否为“无过失州”:%s%n%n", policy.getAccountNumber(), policy.getMakeAndModel(), policy.getState(), policy.isNoFaultState()); } }
运行结果:
请输入客户号(输入-1退出):1001
请输入车型:勇闯天涯
请输入州名:NY
车险保单信息:
客户 #: 1001; 车型: 勇闯天涯;
NY是否为“无过失州”:是
请输入车型:勇闯天涯
请输入州名:NY
车险保单信息:
客户 #: 1001; 车型: 勇闯天涯;
NY是否为“无过失州”:是
请输入客户号(输入-1退出):1002
请输入车型:仁者无敌
请输入州名:CT
车险保单信息:
客户 #: 1002; 车型: 仁者无敌;
CT是否为“无过失州”:不是
请输入车型:仁者无敌
请输入州名:CT
车险保单信息:
客户 #: 1002; 车型: 仁者无敌;
CT是否为“无过失州”:不是
请输入客户号(输入-1退出):1009
请输入车型:不忘初心
请输入州名:NX
抱歉,暂不支持您所输入的州的业务
车险保单信息:
客户 #: 1009; 车型: 不忘初心;
N/A是否为“无过失州”:不确定
请输入车型:不忘初心
请输入州名:NX
抱歉,暂不支持您所输入的州的业务
车险保单信息:
客户 #: 1009; 车型: 不忘初心;
N/A是否为“无过失州”:不确定
请输入客户号(输入-1退出):-1
0 0
- 车险保单信息打印(AutoPolicy Class)
- 车险
- 车险投保误区(一)
- 车险投保诀窍(一)
- js,jq清除360浏览器自动保存保单信息
- java远程通讯轻量级HttpInvoker实现理赔调用承保核心系统打印出险前保单实现
- upic 保单
- 打印信息
- 禁止内核打印内核信息(printk)
- 汇编打印磁盘信息(二进制)
- log4j.properties打印日志信息(1)
- log4j.xml打印日志信息(2)
- Hugo注解方式打印信息(方便)
- 迁居外地,保单怎么办?
- 认识保单质押贷款
- 快速保单管理
- 保单的处理
- java 反射(三) 打印Class的构造、属性、方法
- mysql 浮点型坑
- 异常处理
- 期末考试-拯救公主(算法基础 第10周)
- 依赖注入 控制反转(3)
- 深入理解SELinux SEAndroid(第二部分)
- 车险保单信息打印(AutoPolicy Class)
- MongoDB学习记录—索引
- 记一次把Windows程序移植到Linux的过程
- XMG 活动指示器的制作
- Android项目重构之路:实现篇
- AFNetworking 的使用
- 写在博客第一天
- HorizontalListView 的selection方法
- 保存文件打开文件对话框