黑马程序员技术交流社区

标题: 小游戏 优化 [打印本页]

作者: 进军黑马    时间: 2015-6-26 22:22
标题: 小游戏 优化
/*
通过键盘录入
        Scanner

        nextInt();
               
几个选项 选择玩几个小游戏 比如 1 2 3 4

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

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

import java.util.Scanner;

class Game
{
        static Scanner sc = new Scanner(System.in);
        public static void main(String[] args)
        {
               

               

               
        WC:while (true)
                {
                        System.out.println("   欢迎来到游戏模板!!! 选择玩几个小游戏 比如 1 2 3 4  ,温馨提示:其它数字会退出的哦!!!");
                        int x = sc.nextInt();
                                switch (x)
                                {
                                        case 1:
                                                System.out.println("   亲,请在控制台输入两个整数,然后交换顺序输出");
                                                System.out.println("请输入第一个数字:");
                                                int a = sc.nextInt();
                                                System.out.println("请输入第二个数字:");
                                                int b = sc.nextInt();
                                                System.out.println("   选择您想要的交换方式:1.默认使用使用第三方变量;2.不使用第三方变量");
                                                System.out.println("请输入您要选择的方式:");
                                                int d = sc.nextInt();
                                               
                                                swap(a,b,d);
                                               
                                                continue WC;
                                       
                                               
                                        case 2:
                                                A:while(true)
                                                {
                                                        System.out.println("     亲,请在控制台输入两个整数 ,第一个数小,第二个数大, 我会为您计算这两个数之间所有偶数的和:");
                                                        int m = sc.nextInt();

                                                        int n = sc.nextInt();
                                               
                                                        int h = sum(m,n);
                                                        if(h == -1)
                                                                continue A;
                                                        else
                                                                continue WC;
                                                }       
                                        case 3:
                                                System.out.println("   亲,请输入一个数字,为您打印对应的行数“*”三角形:");
                                                int q = sc.nextInt();

                                                print(q);
                                               
                                                continue WC;       
                                                       
                                        case 4:
                                                System.out.println("   亲,选择这个选项,我给你个惊喜 --");

                                                surprised();
                                                continue WC;

                                        default:
                                                System.out.println("亲,您的输入有误哦,本次玩耍结束.");       

                                                break WC;
                                }       
                        }
        }
        public static void swap(int a, int b, int d)
        {
                        if (d == 2)
                        {
                                //不用第三方变量
                                                a = a ^ b;
                                                b = a ^ b;
                                                a = a ^ b;
                                                System.out.println("您使用异或的交换方式:"+"a="+a+", "+"b="+b);
                        }
                        else
                        {       
                                        int temp = a;
                                                a = b;
                                                b = temp;
                                               
                                        System.out.println("默认使用第三方变量的交换方式:"+"a="+a+", "+"b="+b);
                        }       
        }               
        public static int sum(int m, int n)
        {
                int mun = 0;
                while (true)
                        {
                                if (m<n)
                                {
                                        for (int z = m; z<n; z++)
                                        {
                                                if (z%2==0)
                                                {
                                                        mun+=z;                       
                                                }
                                        }
                                        System.out.println("这两个数之间所有偶数的和为:"+mun);       
                                }
                                else
                                {
                                        System.out.println("您输入有误,请仔细阅读条件");
                                        mun = -1 ;//
                                }
                                break;                                               
                        }
                        return mun;
        }       
        public static void print(int q)
        {
                for (int w = 1; w<=q; w++)
                {
                        for (int z =w ; z<=q-1; z++)
                        {
                                System.out.print(" ");

                        }
                        for (int e = 1; e<=w; e++)
                        {
                                System.out.print("* ");
                        }
                        System.out.println();

                }

        }                                       
       
       
        public static void surprised()
        {
               
                for (int h = 1; h<=9; h++)
                {
                        for (int g = 1; g<=h; g++)
                        {
                                System.out.print(g+"*"+h+"="+g*h+"\t");
                        }
                        System.out.println();
                }

        }
       
       
}
                       
作者: 15210164230    时间: 2015-6-26 22:24
有用!大赞
作者: wuwenwen3779    时间: 2015-6-26 22:25
既然点进来了,就给你赞一个吧,顺便学了个经验,原来这都可以发帖诶
作者: 0racle    时间: 2015-6-26 22:25
哈哈,这不是老师留的作业嘛!;P
作者: 含笑    时间: 2015-6-26 22:33
好厉害!
作者: xu521cheng    时间: 2015-6-26 22:41
赞一个,大神啊
作者: 蓝菊蚊香2    时间: 2015-6-26 22:55
好厉害的样子⊙▽⊙
作者: 牧师1990    时间: 2015-6-26 23:07
注释,  代码好清晰, 学习了. 建议代码用代码模式发表

作者: 龙哥Longer    时间: 2015-6-26 23:10
厉害厉害!
作者: wx_J25HxI5W    时间: 2015-6-26 23:14
头都看晕了
作者: 易阳    时间: 2015-6-26 23:19
学习学习了
作者: wenxueaaa555    时间: 2015-6-26 23:39
哇,厉害啊,没想到小游戏里还要注意那么多内容
作者: 小骆驼    时间: 2015-6-26 23:51
看了半天,悟了,顿悟.
作者: tanzhixue    时间: 2015-6-27 00:04
目测基础班前8天老师布置的作业




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