黑马程序员技术交流社区

标题: Java基础班第三天作业。 [打印本页]

作者: kelin410    时间: 2016-3-7 12:59
标题: Java基础班第三天作业。
作业,答案都在里面。
  1. 1.使用三元运算符完成如下练习(以int类型数据为例,数字要求键盘录入)
  2.         (1)比较两个数是否相等
  3.                 int x = 5, y = 8;
  4.                 System.out.println(x+" 和 "+y+" "+(x>y? "相等":"不相等"));

  5.         (2)获取两个数中最小值
  6.                 int x = 5, y = 8;
  7.                 System.out.println(x+" 和 "+y+" 相比:"+(x<y? x:y)+" 小");
  8.                
  9.         (3)获取三个数中最小值(考虑能否用一条三元运算符实现)
  10.                 int x = 55, y = 38, z = 86;
  11.                 System.out.println(x+" , "+y+" , "+z+" 中 "+((x<y? x:y)<z? (x<y? x:y):z)+" 最小");

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

  15.                 if(x++==2 & ++y==2)
  16.                 {
  17.                         x =7;
  18.                 }
  19.                 System.out.println("x="+x+",y="+y);  
  20.        
  21.                 结果:x = 2, y = 2;
  22. ---------------------------------------------------

  23.         第二题
  24.                 int x = 1,y = 1;

  25.                 if(x++==2 && ++y==2)
  26.                 {
  27.                         x =7;
  28.                 }
  29.                 System.out.println("x="+x+",y="+y);

  30.                 结果:x = 2, y = 1;
  31. ---------------------------------------------------
  32.         第三题
  33.                 int x = 1,y = 1;

  34.                 if(x++==1 | ++y==1)
  35.                 {
  36.                         x =7;
  37.                 }
  38.                 System.out.println("x="+x+",y="+y);

  39.                 结果:x = 7, y = 2;
  40. ---------------------------------------------------
  41.         第四题
  42.                 int x = 1,y = 1;

  43.                 if(x++==1 || ++y==1)
  44.                 {
  45.                         x =7;
  46.                 }
  47.                 System.out.println("x="+x+",y="+y);

  48.                 结果:x = 7, y = 1;
  49. ---------------------------------------------------
  50.         第五题
  51.                 boolean b = true;

  52.                 if(b==false)
  53.                         System.out.println("a");
  54.                 else if(b)
  55.                         System.out.println("b");
  56.                 else if(!b)
  57.                         System.out.println("c");
  58.                 else
  59.                         System.out.println("d");

  60.                 结果:打印输出  b
  61. ---------------------------------------------------

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

  70.                 if (x >= 90 && x <= 100) {
  71.                         System.out.println("【优】");
  72.                 } else if (x >= 80 && x <= 89) {
  73.                         System.out.println("【良】");
  74.                 } else if (x >= 70 && x <= 79) {
  75.                         System.out.println("【中】");
  76.                 } else if (x >= 60 && x <= 69) {
  77.                         System.out.println("【及】");
  78.                 } else if (x >= 0 && x <= 59) {
  79.                         System.out.println("【差】");
  80.                 } else {
  81.                         System.out.println("您输入的成绩不合法!");
  82.                 }

  83. 4.分析以下需求,并用代码实现:
  84.         (1)键盘录入一个整数给变量x,输出对应的变量y的值
  85.         (2)x值和y值的对应关系如下:
  86.                 x<0 y=-1
  87.                 x=0 y=0
  88.                 x>0 y=1
  89.         (3)如果用户输入的x的值为2,程序运行后打印格式"x=2,y=1"
  90.                 class Test {
  91.                         public static void main (String[] args) {
  92.                                 Scanner sc = new Scanner(System.in);
  93.                                 System.out.println("请输一个整数:");
  94.                                 int x = sc.nextInt(),y = 0;
  95.                                
  96.                                 if (x < 0) {
  97.                                         y = -1;
  98.                                 } else if (x == 0) {
  99.                                         y = 0;
  100.                                 } else {
  101.                                         y = 1;
  102.                                 }
  103.                                 System.out.println("x="+x+",y="+y);
  104.                         }

  105.                 }

  106. 5.用switch语句实现题目3的功能。
  107. class Test {
  108.         public static void main (String[] args) {
  109.                 dengJi ();
  110.         }

  111.         static void dengJi () {
  112.                 Scanner sc = new Scanner(System.in);
  113.                 System.out.println("请输学生成绩:");
  114.                 int x = sc.nextInt();
  115.                 if (x < 0 || x > 100) {
  116.                         System.out.println("输入的成绩不正确!");
  117.                 }else {
  118.                         int temp = 0;
  119.                         switch (x / 10) {
  120.                                 case 10:
  121.                                 case 9:
  122.                                         System.out.println("该学生的成绩等级为:A等");
  123.                                         break;
  124.                                 case 6:
  125.                                         System.out.println("该学生的成绩等级为:D等");
  126.                                         break;
  127.                                 case 7:
  128.                                         System.out.println("该学生的成绩等级为:C等");
  129.                                         break;
  130.                                 case 8:
  131.                                         System.out.println("该学生的成绩等级为:B等");
  132.                                         break;
  133.                                 default:
  134.                                         System.out.println("该学生的成绩等级为:E等");
  135.                         }
  136.                 }
  137.                 dengJi ();
  138.         }
  139. }
  140. 6.分析以下需求,并用代码实现:
  141.         (1)根据工龄(整数)给员工涨工资(整数),工龄和基本工资通过键盘录入
  142.         (2)涨工资的条件如下:
  143.                 [10-15)     +5000
  144.                 [5-10)      +2500
  145.                 [3~5)       +1000
  146.                 [1~3)       +500
  147.                 [0~1)       +200
  148.         (3)如果用户输入的工龄为10,基本工资为3000,程序运行后打印格式"您目前工作了10年,基本工资为 3000元, 应涨工资 5000元,涨后工资 8000元"
  149.                 class Test {
  150.                         public static void main (String[] args) {
  151.                                 run();
  152.                         }
  153.                        
  154.                         static void run() {
  155.                                 Scanner sc = new Scanner(System.in);
  156.                                 System.out.println("请输员工的基本工资:");
  157.                                 int x = sc.nextInt();
  158.                                 if (x < 0) {
  159.                                         System.out.println("员工的工资不能为负数!");
  160.                                 } else {
  161.                                         System.out.println("请输员工的工龄:");
  162.                                         int y = sc.nextInt();
  163.                                         if (y < 0 || y > 14) {
  164.                                                 System.out.println("不合法的工龄!");
  165.                                         } else {
  166.                                                 int a;
  167.                                                 if (y == 0) {
  168.                                                         a = 200;
  169.                                                 } else if (y < 3) {
  170.                                                         a = 500;
  171.                                                 } else if (y < 5) {
  172.                                                         a = 1000;
  173.                                                 } else if (y < 10) {
  174.                                                         a = 2500;
  175.                                                 } else {
  176.                                                         a = 5000;
  177.                                                 }
  178.                                                 System.out.println("您目前工作了 "+y+"年,基本工资为 "+x+"元, 应涨工资 "+a+"元,涨后工资 "+(x+a)+"元");
  179.                                         }
  180.                                 }
  181.                                 run();
  182.                         }
  183.                 }
  184. 7.分析以下需求,并用代码实现:
  185.         (1)键盘录入三个整数,按照从小到大的顺序输出
  186.         (2)如果用户输入的是3 2 1,程序运行后打印格式"按照从小到大排序后的顺序为:1 2 3"

  187.         class Test {
  188.                 public static void main (String[] args) {
  189.                         run();
  190.                 }
  191.                
  192.                 static void run() {
  193.                         Scanner sc = new Scanner(System.in);
  194.                         System.out.println("请分别输入三个整数:");
  195.                         int x = sc.nextInt(), y = sc.nextInt(), z = sc.nextInt();
  196.                         if (x > y) {
  197.                                 x = x ^ y;
  198.                                 y = x ^ y;
  199.                                 x = x ^  y;
  200.                         }
  201.                         if (y > z) {
  202.                                 y = y ^ z;
  203.                                 z = y ^ z;
  204.                                 y = y ^ z;
  205.                         }
  206.                         if (x > y) {
  207.                                 x = x ^ y;
  208.                                 y = x ^ y;
  209.                                 x = x ^  y;
  210.                         }
  211.                         System.out.println("按照从小到大排序后的顺序为:"+x+"  "+y+"  "+z);
  212.                         run();
  213.                 }
  214.         }

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

  217.         switch(x)
  218.         {
  219.                 default:
  220.                         y++;
  221.                 case 3:
  222.                         y++;
  223.                         break;
  224.                 case 4:
  225.                         y++;
  226.         }

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

  228. 结果:y=5;
复制代码


作者: Lee♥晓蕾    时间: 2016-3-7 15:17
谢谢分享
作者: fighting2016    时间: 2016-3-7 22:11
谢谢分享




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