这道题怎么写啊? 员工底薪为500,前三年底薪按每年8%增长,以后每年按(8-(工龄-3))% 增长,当增长率到2%时维持该比例增长,当底薪到达1000时不再增长,求输入工龄计算该工龄时底薪为多少?还有为何: double a=7/100;为何值为0? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 double a=7/100;改成 double a = 7.00/100.00 double a=7/100 7/100 返回的是int类型,所以结果为0,然后再转成double import java.util.Scanner;public class Main { public static double start = 500;//开始的底薪 public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入工龄:"); int age = input.nextInt(); if(age < 0) { System.out.println("工龄不能小于0!"); System.exit(0); } calcSalary(age); } private static void calcSalary(int age) { double salary = 0; if(age <= 3) {//前三年的底薪计算 salary = start * Math.pow((1 + 0.08),age); //判断底薪是否大于1000,若大于1000,则设置为1000 if(salary > 1000) salary = 1000; } else if(age <= 9){//第9年增长率成2%,所以这里是计算4-9年的底薪 //计算第四年开始时的底薪start salary = start * Math.pow((1 + 0.08),3); //计算第四年开始时的底薪end //计算4-9年的底薪,包括第4年和第9年 for(int i=4; i<= age; i++) { salary = salary * (1 + (8 - (i - 3)) / 100.0); } //判断底薪是否大于1000,若大于1000,则设置为1000 if(salary > 1000) salary = 1000; } else {//计算10年及以上的底薪 //计算第十年开始时的底薪start salary = start * Math.pow((1 + 0.08),3); for(int i=4; i<= 9; i++) { salary = salary * (1 + (8 - (i - 3)) / 100.0); } //计算第十年开始时的底薪end //计算10年及以上的底薪 salary = salary * Math.pow((1 + 0.02), age - 9); //判断底薪是否大于1000,若大于1000,则设置为1000 if(salary > 1000) salary = 1000; } System.out.println("第" + age + "年的底薪是:" + salary); }} 使用了双缓冲,图片还是会闪烁,求助 对java的学习,希望过来人指点下 新手提问,关于判断一个数有多少个基数偶数和0 怎样判断jsp中某个多选框有没有选中 log4j问题 "\t\n\r ".indexOf ( c ) != -1 ;是干什么的? 如何改String中特定一个位置的字符? 我的一个qq记录啊~~~~~~~~~~~~~~~~~~~~!关于调用方法还是没有弄清楚啊!我的qq 712779希望认识大家啊 强烈抗议!!为什么不可以将贴子提前?老是报错? SCJP 还是父类引用调用子类的问题 java中如何才能让主程序重新执行?
import java.util.Scanner;
public class Main {
public static double start = 500;//开始的底薪
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入工龄:");
int age = input.nextInt();
if(age < 0) {
System.out.println("工龄不能小于0!");
System.exit(0);
}
calcSalary(age);
}
private static void calcSalary(int age) {
double salary = 0;
if(age <= 3) {//前三年的底薪计算
salary = start * Math.pow((1 + 0.08),age);
//判断底薪是否大于1000,若大于1000,则设置为1000
if(salary > 1000)
salary = 1000;
} else if(age <= 9){//第9年增长率成2%,所以这里是计算4-9年的底薪
//计算第四年开始时的底薪start
salary = start * Math.pow((1 + 0.08),3);
//计算第四年开始时的底薪end
//计算4-9年的底薪,包括第4年和第9年
for(int i=4; i<= age; i++) {
salary = salary * (1 + (8 - (i - 3)) / 100.0);
}
//判断底薪是否大于1000,若大于1000,则设置为1000
if(salary > 1000)
salary = 1000;
} else {//计算10年及以上的底薪
//计算第十年开始时的底薪start
salary = start * Math.pow((1 + 0.08),3);
for(int i=4; i<= 9; i++) {
salary = salary * (1 + (8 - (i - 3)) / 100.0);
}
//计算第十年开始时的底薪end
//计算10年及以上的底薪
salary = salary * Math.pow((1 + 0.02), age - 9);
//判断底薪是否大于1000,若大于1000,则设置为1000
if(salary > 1000)
salary = 1000;
}
System.out.println("第" + age + "年的底薪是:" + salary);
}
}