这个程序原题是这样要求的

南燕北灰 发布于 2015/11/02 17:33
阅读 72
收藏 0

@景愿 你好,想跟你请教个问题:

加载中
0
景愿
景愿

大致就是这个意思了,不过涉及到金额的计算,还是用BigDecimal来做处理,不然会出现浮点精度问题:

public static double kbs(int[] arr) {
		double sum = 0;
		for (int num : arr) {
			if (num <= 10) {
				sum += num * 0.1;
				
			} else if (num <= 20) {
				sum += 10 * 0.1 + (num - 10) * 0.075;
				
			} else if (num <= 40) {
				sum += 10 * 0.1 + 10 * 0.075 + (num -20) * 0.05;
				
			} else {
				sum += 10 * 0.1 + 10 * 0.075 + 20 * 0.05; // 40以上没利润?
			}
		}
		return sum;
	}



南燕北灰
南燕北灰
回复 @景愿 : 恩,知道了,我刚学习java所以很多不懂,谢谢你的帮助
景愿
景愿
回复 @南燕北灰 : 两种for循环格式而已,意思一样的,不过你的num是索引,我的num是数组中的值
南燕北灰
南燕北灰
回复 @景愿 : for (int num : arr)和for(int num;num<arr.length;num++)一样的吗?
景愿
景愿
你按照这个思路做修改就差不多了
返回顶部
顶部