黑马程序员技术交流社区

标题: 黑马游戏厅 [打印本页]

作者: ninety_奶挺    时间: 2015-12-6 00:49
标题: 黑马游戏厅


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

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

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

import java.util.Scanner;

class Demo_ZongHe {
        public static void main(String[] args) {

  outer: while(true){

                 String s1="欢迎来到黑马游戏厅!本游戏厅有四款游戏可供选择:";
                 String s2="1:这个游戏很有趣\r\n2:这个游戏很好玩\r\n3:这个游戏很棒\r\n4:这个游戏很简单";
                 String str="----------------------------------------------------------";
                 String str2="游戏结束,欢迎您的光临,期待您以后常来玩!";

                 sop(s1);
                 sop(s2);
       
                 sop(str);                //        打印分隔符
                 sop("请输入1-4中的一个整数,选择你想玩的游戏。");
                 int num=imputNum();
                 sop(str);                //        打印分隔符
               
                 String str3="请输入第一个整数:";
                 String str4="请输入第二个整数:";

               
                        switch (num) {

                        case 1:
                                        sop("你选择了游戏1:交换输出");
                                        sop(str);                        //        打印分隔符
                                        sop(str3);                        //打印输入提示语句
                                        int a=imputNum();
                                        sop(str4);                        //打印输入提示语句
                                        int b=imputNum();       
                                        changeNum(a,b);
                                        sop(str2);                        //打印欢迎语句
                                        sop(str);
                                       
                        break;
                        case 2:
                                        sop("你选择了游戏2:计算两个数之间所有偶数的和");
                                        sop(str);                        //        打印分隔符
                                        sop(str3);                        //打印输入提示语句
                                        int x=imputNum();
                                        sop(str4);                        //打印输入提示语句
                                        int y=imputNum();
                                        sop(x+"和"+y+"之间所有偶数的和="+add_D(x,y));
                                        sop(str2);                        //打印欢迎语句
                                        sop(str);                        //        打印分隔符
                        break;
                        case 3:       
                                        sop("你选择了游戏3:打印小星星");
                                        sop("请输入一个正整数,建议控制在1到50内");
                                        int n=imputNum();
                                        printStar(n);
                                        sop(str2);                        //打印欢迎语句
                                        sop(str);                        //        打印分隔符
                               
                        break;
                        case 4:
                                        sop("你选择了游戏4:打印九九乘法表");
                                        print99();       
                                        sop(str2);                        //打印欢迎语句
                                        sop(str);                        //        打印分隔符
                        break;
                        default:
                                        sop("输入错误,游戏结束。");
                                        break outer;                               
                        }
                }
        }

        //定义一个函数imputNum,用于录入一个整数。
        public static int imputNum(){
                Scanner sc=new Scanner(System.in);                //创建键盘录入对象
                int x=sc.nextInt();                                                //将从键盘录入的数字存储到x中。
                return x;
        }
       
        //定义一个方法,用于打印字符串
        public static void sop(String str){
                System.out.println(str);
        }


        //定义方法,用于实现选项1的功能:
        //        选项1:                让用户在控制台输入两个整数,然后交换顺序输出. -- 这将两种方式都敲一下
        public static void  changeNum(int a,int b){
               
                System.out.println("交换前两个整数分别为:"+a+","+b);
                //第一种,定义第三方变量,开发中推荐该方式。
                int temp=a;
                        a=b;
                        b=temp;

                /*
                第二种,利用^的特性。
                a=a^b;
                b=a^b;
                a=a^b;*/

                System.out.println("交换后两个整数分别为:"+a+","+b);
        }

        /*定义方法,用于实现选项2的功能:
                选项2:
                        让用户在控制台输入两个整数 ,第一个数小,第二个数大, 计算这两个数之间所有偶数的和
                        // 思考,如果用户输入的第一个数比第二个数还大 怎么办?
                        // 可以判断一下用大的减去小的,还可以让用户重新输入。
        */
        public  static int add_D(int a,int b){
               
                int sum=0;
                if (a>b) {
                        for (int i=b;i<=a ;i++ ) {
                                if (i%2==0) {
                                        sum+=i;
                                }
                        }
                }

                else {
                        for (int i=a;i<=b ;i++ ) {
                                if (i%2==0) {
                                        sum+=i;
                                }
                        }
                }

                return sum;
        }

        /*定义一个方法,用于实现选项3的功能:
        选项3:
                让用户输入一个数字,这个数字表示的意思是打印多少行的*, 而这个星星是三角形的
        */
        public static void printStar(int n){
               
                        for (int x=1;x<=n ;x++ ) {                                //外循环控制打印的星星的行数。
                                for (int y=1;y<=x ;y++ ) {                        //内循环控制打印的星星的列数。
                                        System.out.print("*");
                                }
                                System.out.println();                                //换行。
                        }
        }

        /*定义一个方法,用于实现选项4的功能。
        选项4:
                选择这个选项,我给你个惊喜 -- 打印个99乘法表
        */
        public static void print99(){
               
                        for (int x=1;x<=9 ;x++ ) {                                        //外循环控制行数
                                for (int y=1;y<=x ;y++ ) {                                //内循环控制列数
                                        System.out.print(y+"*"+x+"="+x*y+"\t");
                                }
                                System.out.println();                                        //换行
                        }
        }

}

作者: 耿帅东    时间: 2015-12-6 12:56

作者: wyasln    时间: 2015-12-6 13:12
代码好多,慢慢看




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