Java小例子—薪水计算器(含具体的代码思路)
题目
薪水计算器∶
(1)通过键盘输入用户的月薪,每年是几个月薪水;
(2)输出用户的年薪;
(3)输出一行字"如果年薪超过 10万,恭喜你超越 90%的国人",“如果年薪超过20万,恭喜你超越 98%的国人”;
(4)直到键盘输入"exit",则退出程序(使用 break 退出循环);
(5)输入中途,键盘输入"next",则这个用户退出计算不显示"恭喜.",算下一个用户的年薪 。
首先分析最主要的需求,再慢慢添加一些功能上去:
1.拎清楚主干
(定义月薪、一年发几个月的薪水、计算年薪、判断薪水在全国排行)
首先应该完成这些功能!
//薪水计算器
public static void main(String[] args) {
int monthlyPay = 20000;
int annualSalary = 12;//这里直接定义常量,测试一下保证主体代码不报错
//计算薪水
int salary = monthlyPay * annualSalary;
System.out.println("你的年薪为:¥" + salary + "元");
if(100000 < salary & salary <= 200000){
System.out.println("恭喜你超越90%的国人");
}else if(salary > 200000 ){
System.out.println("恭喜你超越98%的国人");
}
}
2.添加键盘输入功能
(键盘输入月薪、一年发几个月的薪水)
//薪水计算器
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你的月薪:");
int monthlyPay = scanner.nextInt();
System.out.println("请输入每年有几个月薪水:");
int annualSalary = scanner.nextInt();
//计算薪水
int salary = monthlyPay * annualSalary;
System.out.println("你的年薪为:¥" + salary + "元");
if(100000 < salary & salary <= 200000){
System.out.println("恭喜你超越90%的国人");
}else if(salary > 200000 ){
System.out.println("恭喜你超越98%的国人");
}
}
3.添加循环
//薪水计算器
public static void main(String[] args) {
while (true){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你的月薪:");
int monthlyPay = scanner.nextInt();
System.out.println("请输入每年有几个月薪水:");
int annualSalary = scanner.nextInt();
//计算薪水
int salary = monthlyPay * annualSalary;
System.out.println("你的年薪为:¥" + salary + "元");
if(100000 < salary & salary <= 200000){
System.out.println("恭喜你超越90%的国人");
}else if(salary > 200000 ){
System.out.println("恭喜你超越98%的国人");
}
}
}
4.添加判断的需求
(1.键盘输入"exit"则退出程序;2.键盘输入"next",则这个用户退出计算不显示"恭喜.",算下一个用户的年薪。 )
//薪水计算器
public static void main(String[] args) {
while (true){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你的月薪:");
int monthlyPay = scanner.nextInt();
System.out.println("请输入每年有几个月薪水:");
int annualSalary = scanner.nextInt();
String num = scanner.nextLine();//解决输入数字后自动提交一个回车键的bug
System.out.println("输入next计算下一个用户,输入exit退出程序,输入任意字符表示继续!");
String command = scanner.nextLine();
if("next".equals(command)){
System.out.println("重新输入新的数据...");
continue;
}else if("exit".equals(command)){
System.out.println("退出程序!");
break;
}
//计算薪水
int salary = monthlyPay * annualSalary;
System.out.println("你的年薪为:¥" + salary + "元");
if(100000 < salary & salary <= 200000){
System.out.println("恭喜你超越90%的国人");
}else if(salary > 200000 ){
System.out.println("恭喜你超越98%的国人");
}
}
}