黑马程序员技术交流社区

标题: if 语句编译没问题,为什么多几个数据输入就有问题 [打印本页]

作者: yw201605    时间: 2016-6-30 18:57
标题: if 语句编译没问题,为什么多几个数据输入就有问题
/*
分析以下需求,并用代码实现:
        (1)根据工龄(整数)给员工涨工资(整数),工龄和基本工资通过键盘录入
        (2)涨工资的条件如下:
                [10-15)     +5000
                [5-10)      +2500
                [3~5)       +1000
                [1~3)       +500
                [0~1)       +200
        (3)如果用户输入的工龄为10,基本工资为3000,
程序运行后打印格式"您目前工作了10年,基本工资为 3000元,
应涨工资 5000元,涨后工资 8000元
*/
import java.util.Scanner;   //导包
        class YunSuan2 {
                public static void main(String[] args) {
                        Scanner sc = new Scanner(System.in);  //创建键盘录入对象
                        System.out.println("请输入你的工龄");  
                        int age =sc.nextInt();      //获取工龄
                        int salary = 0;    //声明变量基本工资并初始化值
                        if (age >=0 && age < 15 ) {
                                int sal = 0;          //应涨工资
                                System.out.println("请输入你的基本工资");
                                int BaseSalary = sc.nextInt();//获取基本工资
                                if (age >= 0 && age <1 ) {
                                        sal = 200;
                                        salary = sal + BaseSalary;
                                        } else if(age >= 1 && age < 3 ){
                                                sal= 500;
                                                salary = sal + BaseSalary;
                                        }else if(age >= 3 && age < 5 ){
                                                sal = 1000;
                                                salary = sal + BaseSalary;
                                        } else if(age >= 5 && age < 10 ){
                                                sal = 2500;
                                                salary = sal + BaseSalary;
                                        }else if(age >= 10 && age < 15 ){
                                                sal = 5000;
                                                salary = sal + BaseSalary;
                                                System.out.println("你输入的数据有误");
                                } else {
                                        System.out.println("您目前工作了"+age+"年,基本工资为"+BaseSalary+
                                                "元,应涨工资"+sal+"元,涨后工资"+salary+"元");
                                }
                        }
                }
        }
作者: huizhong    时间: 2016-6-30 19:05
同问+++++++++++++++++++++
作者: 芒果小姐    时间: 2016-6-30 19:30
同问~为什么多几个数据输入就有问题呢
作者: syso信任    时间: 2016-6-30 19:57
import java.util.Scanner;


public class ddd {
        public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);  //创建键盘录入对象
        System.out.println("请输入你的工龄");  
        int age =sc.nextInt();      //获取工龄
        int salary = 0;    //声明变量基本工资并初始化值
        if (age >=0 && age < 15 ) {
                int sal = 0;          //应涨工资
                System.out.println("请输入你的基本工资");
                int BaseSalary = sc.nextInt();//获取基本工资
                if (age >= 0 && age <1 ) {
                        sal = 200;
                        salary = sal + BaseSalary;
                        } else if(age >= 1 && age < 3 ){
                                sal= 500;
                                salary = sal + BaseSalary;
                        }else if(age >= 3 && age < 5 ){
                                sal = 1000;
                                salary = sal + BaseSalary;
                        } else if(age >= 5 && age < 10 ){
                                sal = 2500;
                                salary = sal + BaseSalary;
                        }else if(age >= 10 && age < 15 ){
                                sal = 5000;
                                salary = sal + BaseSalary;
//                                System.out.println("你输入的数据有误");
                } else {
                         System.out.println("你输入的数据有误");
//                         System.out.println("您目前工作了"+age+"年,基本工资为"+BaseSalary+
//                             "元,应涨工资"+sal+"元,涨后工资"+salary+"元");
                }
                System.out.println("您目前工作了"+age+"年,基本工资为"+BaseSalary+
                        "元,应涨工资"+sal+"元,涨后工资"+salary+"元");
        }
        }
}
作者: 他的好    时间: 2016-6-30 20:14
import java.util.Scanner;   //导包
      class YunSuan2 {
                 public static void main(String[] args) {
                         Scanner sc = new Scanner(System.in);  //创建键盘录入对象
                         System.out.println("请输入你的工龄");  
                         int age =sc.nextInt();      //获取工龄
                                                 System.out.println("请输入你的基本工资");
                                                 int BaseSalary=sc.nextInt();
                         int salary = 0;    //声明变量基本工资并初始化值
                         if (age >=0 && age < 15 ) {
                                 int sal = 0;          //应涨工资
                                 
                                 //int BaseSalary = sc.nextInt();//获取基本工资
                                 if (age >= 0 && age <1 ) {
                                         sal = 200;
                                         //salary = sal + BaseSalary;
                                         } else if(age >= 1 && age < 3 ){
                                                 sal= 500;
                                                 //salary = sal + BaseSalary;
                                         }else if(age >= 3 && age < 5 ){
                                                 sal = 1000;
                                                 //salary = sal + BaseSalary;
                                         } else if(age >= 5 && age < 10 ){
                                                 sal = 2500;
                                                 //salary = sal + BaseSalary;
                                         }else if(age >= 10 && age < 15 ){
                                                 sal = 5000;
                                                 //System.out.println("你输入的数据有误");
                                 } else {
                                         System.out.println("您的输入有误");
                                 }
                                                                        salary = sal + BaseSalary;
                                                                        System.out.println("您目前工作了"+age+"年,基本工资为"+BaseSalary+
                                                 "元,应涨工资"+sal+"元,涨后工资"+salary+"元");
                         }
                 }
         }
作者: 他的好    时间: 2016-6-30 20:16
他的好 发表于 2016-6-30 20:14
import java.util.Scanner;   //导包
      class YunSuan2 {
                 public static void main(S ...

循环语句多的时候一定要注意最终的输出语句不能放在循环语句里面,还有不用每次求和,只有奖金会根据不同的条件会变化,所以对奖金进行限制就行了
作者: yw201605    时间: 2016-7-1 23:38
受教,太感谢了
作者: 718161567    时间: 2016-7-1 23:42
111111111111111111




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2