黑马程序员技术交流社区

标题: 自己做的作业 请指教 [打印本页]

作者: hainan080697    时间: 2016-3-10 21:46
标题: 自己做的作业 请指教
1.使用三元运算符完成如下练习(以int类型数据为例,数字要求键盘录入)
        (1)比较两个数是否相等
        (2)获取两个数中最小值
        (3)获取三个数中最小值(考虑能否用一条三元运算符实现)

(1)import java.util.Scanner;                             //导包
        class Test1 {
        public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);             //创建键盘录入对象
        System.out.println("请输入第一个整数");          //提示语
        int x = sc.nextInt();                            //把录入的值赋值给x
        System.out.println("请输入第二个整数");          //提示语
        int y = sc.nextInt();                            //把录入的值赋值给y
        boolean b = (x == y);                            //判断
        System.out.println(b);
        }
}       

(2)import java.util.Scanner;                        
        class Test2 {
        public static void main(String[] args) {     
        Scanner sc = new Scanner(System.in);         
        System.out.println("请输入第一个整数");      
        int x = sc.nextInt();
        System.out.println("请输入第二个整数");     
        int y = sc.nextInt();
        int min = (x < y) ? x : y;                  
        System.out.println(min);
        }
}

(3)import java.util.Scanner;
        class Test3 {
        public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个整数");
        int x = sc.nextInt();
        System.out.println("请输入第二个整数");
        int y = sc.nextInt();
        System.out.println("请输入第三个整数");
        int z = sc.nextInt();
        int temp;
        int min = (temp = x < y ? x : y) < z ? temp : z;
        System.out.println(min);
        }
}

2.看程序写结果:请自己独立分析,先不要编译运行。
        第一题
                int x = 1,y = 1;

                if(x++==2 & ++y==2)
                {
                        x =7;
                }
                System.out.println("x="+x+",y="+y);  
x = 2 , y = 2
---------------------------------------------------

        第二题
                int x = 1,y = 1;

                if(x++==2 && ++y==2)
                {
                        x =7;
                }
                System.out.println("x="+x+",y="+y);
x = 2 , y = 1
---------------------------------------------------
        第三题
                int x = 1,y = 1;

                if(x++==1 | ++y==1)
                {
                        x =7;
                }
                System.out.println("x="+x+",y="+y);
x = 7 , y = 2
---------------------------------------------------
        第四题
                int x = 1,y = 1;

                if(x++==1 || ++y==1)
                {
                        x =7;
                }
                System.out.println("x="+x+",y="+y);
x = 7 , y = 1
---------------------------------------------------
        第五题
                boolean b = true;

                if(b==false)
                        System.out.println("a");
                else if(b)
                        System.out.println("b");
                else if(!b)
                        System.out.println("c");
                else
                        System.out.println("d");
b
---------------------------------------------------

3.编写代码实现如下内容:if语句实现考试成绩分等级(写出不同的if-else格式)。
        [90-100]        A等。
        [80-90)         B等。
        [70-80)         C等。
        [60-70)         D等。
        [0-60)          E等。
        请根据给定成绩,输出对应的等级。
        说明:"["表示包含,")"表示不包含

Scanner sc = new Scanner(System.in);
System.out.println("请输入0-100的成绩");
int x = sc.nextInt();
       
        if (x>=90 && x<=100)
        {
                System.out.println("A等");
        }
        else if (x>=80 && x<90)
        {
                System.out.println("B等");
        }
        else if (x>=70 && x<80)
        {
                System.out.println("C等");
        }
        else if (x>=60 && x<70)
        {
                System.out.println("D等");
        }
        else if (x>=0 && x<60)
        {
                System.out.println("E等");
        }else {
                System.out.println("你输入的数据出错了");
        }
               
        }
}


4.分析以下需求,并用代码实现:
        (1)键盘录入一个整数给变量x,输出对应的变量y的值  
        (2)x值和y值的对应关系如下:
                x<0 y=-1
                x=0 y=0
                x>0 y=1
        (3)如果用户输入的x的值为2,程序运行后打印格式"x=2,y=1"

import java.util.Scanner;
class Test5 {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个整数:");
                int x = sc.nextInt();
                if (x < 0)
                {
                System.out.println("x="+x+"y=-1");
                }else if (x == 0)
                {
                System.out.println("x="+x+"y=0");
                }else if (x > 0)
                {
                System.out.println("x="+x+"y=1");
                }else {
                System.out.println("数据输入错误呀");
                }
        }
}



//5.用switch语句实现题目3的功能。

6.分析以下需求,并用代码实现:
        (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 Test3 {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入工龄");
                int x = sc.nextInt();
                System.out.println("请输入基本工资");
                int y = sc.nextInt();
                int sum = 0;                            //定义变量sum
                if (x>=10 && x<15)
                {       
                        sum =y + 5000;
                        System.out.println("您目前工作了"+x+"年,"+"基本工资为" +y+"元, 应涨工资 5000元,涨后工资" +sum+"元");
                }else if (x>=5 && x<10)
                {       
                        sum =y + 2500;
                        System.out.println("您目前工作了"+x+"年,"+"基本工资为" +y+"元, 应涨工资 2500元,涨后工资" +sum+"元");
                }else if (x>=3 && x<5)
                {       
                        sum =y + 1000;
                        System.out.println("您目前工作了"+x+"年,"+"基本工资为" +y+"元, 应涨工资 1000元,涨后工资" +sum+"元");
                }else if (x>=1 && x<3)
                {       
                        sum =y + 500;
                        System.out.println("您目前工作了"+x+"年,"+"基本工资为 " +y+"元, 应涨工资 500元,涨后工资" +sum+"元");
                }else if (x>=0 && x<1)
                {       
                        sum =y + 200;
                        System.out.println("您目前工作了"+x+"年,"+"基本工资为 " +y+"元, 应涨工资 200元,涨后工资" +sum+"元");
                }
        }
}


7.分析以下需求,并用代码实现:
        (1)键盘录入三个整数,按照从小到大的顺序输出
        (2)如果用户输入的是3 2 1,程序运行后打印格式"按照从小到大排序后的顺序为:1 2 3"

import java.util.Scanner;
class Test6 {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入第一个整数");
                int x = sc.nextInt();
                System.out.println("请输入第二个整数");
                int y = sc.nextInt();
                System.out.println("请输入第三个整数");
                int z = sc.nextInt();
                if (x > y)
                {
                        if (y > z)                                          //if嵌套
                        {
                        System.out.println(z +"...."+ y +"...."+ x);       
                        }else {
                                if (x > z)
                                {
                                System.out.println(y +"...."+ z +"...."+ x);
                                }else {
                                System.out.println(y +"...."+ x +"...."+ z);
                                }
                        }
                                       
                }else {
                        if (x > z)
                        {
                        System.out.println(z +"...."+ x +"...."+ y);
                        }else {
                                if (y > z)
                                {
                                System.out.println(x +"...."+ z +"...."+ y);
                                }else {
                                System.out.println(x +"...."+ y +"...."+ z);
                                }
                        }
                }
        }
}


8.看程序,分析下面程序的结果:
        int x = 2,y=3;

        switch(x)
        {
                default:
                        y++;
                case 3:
                        y++;
                        break;
                case 4:
                        y++;
        }

        System.out.println("y="+y);

y = 5
               
//9.把今天讲过的其他案例再练习一遍




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