1
回答
这个程序原题是这样要求的
科大讯飞通用文字识别100000次/天免费使用。立即申请   

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

<无标签>
举报
南燕北灰
发帖于3年前 1回/72阅
共有1个答案 最后回答: 3年前

大致就是这个意思了,不过涉及到金额的计算,还是用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;
	}



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