**

软件测试保险费率计算

等价划分法、边界值分析法
通过方法和条件语句进行数值运算,方法有很多。一下代码是通过Java定义简单类进行方法运算,项目编写前期,正值复习到封装,继承,多态,但,在本实验里并不恰使用复杂语句,为减少代码冗余度,才有下结果。
保险公司计算保费费率的程序 某保险公司的人寿保险的保费计算方式为: 投保额×保险费率 其中,保险费率依点数不同而有别,10点及10点以上保险费率为0.6%,10点以下保险费率为 0.1%;而点数又是由 投保人的年龄、性别、婚姻状况和抚养人数来决定。
废话不多说,上项目!
**一.项目介绍
在这里插入图片描述在这里插入图片描述

二.项目代码

//参数:姓名,年龄,性别婚姻情况,扶养人个数
//先规定保险金额。
//保费=投保金额X保险费率
//类:1.投保金额2.年龄3.性别4.婚姻情况5.抚养人个数
package persion;
import java.util.Scanner;

public class insuDemo {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("请输入你的姓名:");
		String name = sc.next();
		int age = age();// 年龄
		String sex = sex();// 性别
		String marry = marry();// 婚姻
		int money = money();// 投保金额
		int salary = salary();// 抚养人数
		float baofei = bo(age, sex, marry, salary, money);
		System.out.println("参保人:" + name + "的保费是:" + baofei);
	}

	public static int age() {
		Scanner sc = new Scanner(System.in);
		System.out.print("你的年龄是:");
		int age = sc.nextInt();
		if (age > 120 || age < 0) {
			System.out.println("您输入的年纪有误,请重新输入:");
			age();
		}
		return age;
	}

	public static String sex() {
		Scanner sc = new Scanner(System.in);
		System.out.print("请输入性别(男性,女性):");
		String sex = sc.next();
		switch (sex) {
		case "男性":
			break;
		case "女性":
			break;
		default:
			System.out.println("您输入的性别有误,请重新输入");
			sex();
			break;
		}
		return sex;
	}

	public static String marry() {
		Scanner sc = new Scanner(System.in);
		System.out.print("请输入您的婚姻状况(已婚或者未婚):");

		String marry = sc.next();
		switch (marry) {
		case "已婚":

			break;
		case "未婚":
			break;
		default:
			System.out.println("您输入的婚姻状况有误,请重新输入(已婚或者未婚):");
			marry();
			break;
		}
		return marry;
	}

//抚养人数
	public static int salary() {
		Scanner sc = new Scanner(System.in);
		System.out.print("请输入您抚养人数:");
		int salary = sc.nextInt();
		if (salary > 7 || salary < 0) {
			System.out.println("您输入的抚养人数有误,请重新输入:");
			salary();
		}
		return salary;
	}

// 输入投保金额
	public static int money() {
		Scanner sc = new Scanner(System.in);
		System.out.print("请输入投保金额:");
		int money = sc.nextInt();
		if (money < 0) {
			System.out.println("您输入的金额有误,请重新输入:");
			money();
		}
		return money;
	}

	private static float bo(int age, String sex, String marry, int salary, int money) {
		int count = 0;
		// 判断年纪
		if (age > 20 && age < 39) {
			count += 6;
		} else if (age > 40 && age < 59) {
			count += 4;
		} else {
			count += 2;
		}
	
		// 判断性别
		if (sex.equals("男性")) {
			count += 5;
		} else if (sex.equals("女性")) {
			count += 3;
		}

		// 判断婚姻状况
		if (marry.equals("已婚")) {
			count += 3;
		} else if (marry.equals("未婚")) {
			count += 5;
		}

		// 判断抚养人数
		switch (salary) {
		case 0:

			break;
		case 1:
			count -= 0.5;
			break;
		case 2:
			count -= 0.5;
			break;
		case 3:
			count -= 0.5;
			break;
		case 4:
			count -= 0.5;
			break;
		case 5:
			count -= 0.5;
			break;
		case 6:
			count -= 0.5;
			break;
		default:
			break;
		}

		// 将点数四舍五入
		int counts = Math.round(count);

		// 根据点数判断
		if (counts >= 10) {
			return (float) (money * 0.006);
		} else {
			return (float) (money * 0.001);
		}

	}

}

三.等价分析和测试用例
在这里插入图片描述
在这里插入图片描述

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐