A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 任有智双元 中级黑马   /  2015-8-3 23:24  /  334 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


import java.util.Scanner;

class ZongHeDemo {

        /*
                通过键盘录入几个选项, 选择玩几个小游戏 比如 1 2 3 4

        用switch语句实现匹配 ,
        选项1:
                让用户在控制台输入两个整数,然后交换顺序输出. -- 这将两种方式都敲一下
        选项2:
               
                让用户在控制台输入两个整数 ,第一个数小,第二个数大, 计算这两个数之间所有偶数的和
                // 这思考,如果用户输入的第一个数比第二个数还大 怎么办?
       
        选项3:
                让用户输入一个数字,这个数字表示的意思是打印多少行的*, 而这个星星是三角形的
               
        选项4:
                选择这个选项,我给你个惊喜 -- 打印个99乘法表

        default: 选错了选项,怎么办? 结束.
        */

        public static void main(String[] args) {
                // 封装键盘录入,让用户选择
                Scanner sc = new Scanner(System.in);

                boolean flag = true;
                abc: while (flag)
                {
                        System.out.println("欢迎来到黑马游戏厅!");
                        System.out.println("有如下选项可供选择:");
                        System.out.println("1 倒序输出");
                        System.out.println("2 计算两个数之间所有偶数的和");
                        System.out.println("3 打印小星星");
                        System.out.println("4 给你个惊喜");
                        System.out.println("请选择一个游戏:");

                        // 获取用户输入的下一个int值
                        int choose = sc.nextInt();
                       
                        switch (choose)
                        {
                                case 1:
                                        System.out.println("你选择了倒序输出.");

                                        System.out.println("请输入第一个数:");
                                        int a = sc.nextInt();
                                        System.out.println("请输入第二个数:");
                                        int b = sc.nextInt();
                                       
                                        System.out.println("倒序输出为:");
                                        // 此处交换两个变量的值.
                                        // 第一种方式
                                        /*
                                        int temp = a;
                                        a = b;
                                        b = temp;
                                        */
                                        // 第二种方式:
                                        a = a ^ b;
                                        b = a ^ b;
                                        a = a ^ b;
                                        System.out.println(a + "*****" + b);               

                                        break ;
                                case 2:
                                        System.out.println("你选择了计算两个数之间所有偶数的和.");
                                        while (true)
                                        {
                                                System.out.println("请输入第一个数:");
                                                int x = sc.nextInt();
                                                System.out.println("请输入第二个数:");
                                                int y = sc.nextInt();

                                                if (x >= y) {
                                                        System.out.println("第一个数应小于第二个数,请重新输入");
                                                        continue; // 输入错了,结束本次,进入下次.
                                                } else {
                                                        // 计算两个数之间所有偶数的和
                                                        int temp = 0;
                                                        for (int i = x; i <= y; i++) {
                                                                if (i % 2 == 0)
                                                                {
                                                                        temp += i;
                                                                }
                                                        }
                                                        System.out.println(x + "到" + y + "之间所有的(包含边界)偶数和为:" + temp);
                                                        break; // 忘结果运算完了, 别记结束循环,因为前面写的while(true)
                                                        //System.exit(0); // 退出java虚拟机
                                                }
                                        }
                                        break; // 这个break也不能少,不然直接跑case3里去了.
                                case 3:
                                        System.out.println("你选择了打印小星星.");
                                        while (true)
                                        {
                                                System.out.println("请输入小星星的行数,请控制在1到10行之间");
                                                int line = sc.nextInt();
                                                if (line <= 0 || line > 10)
                                                {
                                                        System.out.println("输入的行数有误,请重新输入.");
                                                        continue;
                                                } else {
                                                        // 把打印星星的循环放这
                                                        for (int i = 0; i < line; i++)
                                                        {
                                                                for (int j = 0; j < i + 1; j++)
                                                                {
                                                                        System.out.print("*");
                                                                }
                                                                System.out.println();
                                                        }
                                                        break; // 同理, 打印完了,别忘了跳出循环
                                                }
                                        }
                                        break;
                                case 4:
                                        System.out.println("你猜我会给你个什么惊喜.");
                                        System.out.println("好吧,我给你个九九乘法表,重温下幼儿园生活吧.");

                                        System.out.println("-----------------------------------------------------------------------");
                                       
                                        for (int i = 1; i <= 9; i++)
                                        {
                                                for (int j = 1; j <= i; j++)
                                                {
                                                        System.out.print(j + "*" + i + "=" + (j * i) + "\t");
                                                }
                                                System.out.println();
                                        }
                                       
                                        System.out.println("-----------------------------------------------------------------------");

                                        break;
                                default:
                                        // System.out.println("选择有误,程序退出.");
                                        // break;
                                        System.out.println("选择有误,重新选择.");
                                        continue abc;
                        }
                }
               
                sc.close();
       
        }
       
       
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马