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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 董钊 中级黑马   /  2015-11-26 17:47  /  576 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 董钊 于 2015-11-26 17:55 编辑

/*
    需求:综合小案例
    1、让用户输入自己的用户名和密码(默认都是admin),输入错误提示用户重新输入,
        机会只有三次,输错次数超过三次,程序自动结束
    2、当用户登录成功后,进入到游戏选择界面,根据用户输入的数字玩儿对应的游戏
        注意:
            当用户选择游戏后,只要没有选择退出当前游戏,就一直玩儿该游戏。
            当用户选择退出当前游戏,回到游戏界面重新选择,输入quit退出整个程序
        
            游戏1:让用户输入一个数字,你来打印对应的乘法表
            游戏2:让用户输入两个数字,你来计算出这两个数字间的所有整数和
            游戏3:让用户输入两个数字,你来交换着两个数字的值
            游戏4:让用户输入1个数字,你根据这1个数字来打印一个对应行列的正三角形*图
            游戏5:让用户输入两个数字,你来计算着两个数字间的奇数有多少个。
*/
import java.util.Scanner;
class Test {
    public static void main(String [] args){
        logOn();                                                //调用登录方   
        playGame();                                                //调动玩游戏选择方法        
    }

    //定义登录的方法
    public static void logOn(){
        for (int x = 1;x < 4 ;x++ ) {   
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入帐号");
            String zhangHao = sc.nextLine();
            System.out.println("请输入密码");
            String code = sc.nextLine();

            if ( zhangHao.equals("hangge") && code.equals("hangge")) {    //建立循环当帐号密码全对
                                                                        
                System.out.println("登录成功");                            //才能进入下面游戏界面
                return;
            }else{
                System.out.println("输入错误,请重新输入");
            }
            if (x == 3) {                                                //当输错3次退出整个程序
                System.out.println("输错次数超过三次,程序自动结束");
                System.exit(0);
            }
        }
    }
    //定义游戏选择方法
    public static void playGame(){
        Scanner sc = new Scanner(System.in);   
        while (true) {                                                    //选择游戏程序 有效数据为1—6 ,
            System.out.println("请输入你要玩儿的游戏的编号,游戏如下:");            
            show();                                                        //调用游戏界面            
            String number = sc.next();                                    //如果键入quit,退出程序
            if (number.equals("quit")) {
                System.out.println("谢谢玩耍\t\n author : 董钊");
                System.exit(0);
            }
            System.out.println("你选择玩儿的是游戏是Game" + number);   
            switch (number) {                                            //选择游戏程序,调用相应方法
            case "1":
                game1();
                break;
            case "2":
                game2();
                break;
            case "3":
                game3();
                break;
            case "4":
                game4();
                break;
            case "5":
                game5();
                break;
            case "6":
                game6();
                break;
            default :
                System.out.println("输入的项目有误,\n请重新输入");
            }
        }
    }
                                                                    //定义游戏界面的方法
    public static void show(){
        System.out.println("\tGame1:输入一个数字,我给你打印对应的乘法表");
        System.out.println("\tGame2:输入两个数字,我给你计算出这两个数字间的所有整数和");
        System.out.println("\tGame3:输入两个数字,有意想不到的惊喜哟!!"); //你来交换着两个数字的值
        System.out.println("\tGame4:输入1个数字,我能猜到你心里在想什么!");   //正三角形*图
        System.out.println("\tGame5:输入两个数字,你来计算着两个数字间的奇数有多少个");
        System.out.println("\tGame6:我说咱俩心有灵犀你信吗?不信你输入下你最喜欢吃的水果");
        System.out.println("\t退入程序请键入\"quit\"");
    }

    public static void game1(){
    //让用户输入一个数字,你来打印对应的乘法表
        Scanner sc = new Scanner(System.in);
        System.out.println("Hi,哥们.你输入一个数字,我给你打印对应的乘法表");
        int num = sc.nextInt();
        for99(num);        
    }
    public static void for99(int a ) {
        for (int i = 1;i <= a ;i++ ) {                    
            for (int j = 1;j <= i ;j++ ) {               
                System.out.print(j + "*" + i + "=" + (i * j) + "\t" );
            }
            System.out.println();
        }
    System.out.println("帅气吗?"+"     "+"约吗?");
    }

    public static void game2(){
    //输入两个数字,我给你计算出这两个数字间的所有整数和"
        Scanner sc = new Scanner(System.in);
        System.out.println("Hi,哥们.你输入两个数字,我给你计算出这两个数字间的所有整数和");  
        int num1 = sc.nextInt();
        int num2 = sc.nextInt();   
        int sum = add(num1,num2);
        System.out.println("两个数之间的和是"+sum);
    }
    public static int add(int a ,int b) {
        int sum = 0;
        if (a > b) {
            for (int i = b+1; i< a; i++) {
                sum += i;
            }
        }else if (a < b) {
            int temp = a;
            a = b;
            b = temp;
            for (int i = b+1; i< a; i++) {
                sum += i;
            }
        }else{
            System.out.println("哥们,要按照套路出牌");
        }
        return sum;
    }

    public static void game3(){
        //你来交换着两个数字的值
        Scanner sc = new Scanner(System.in);
        System.out.println("哥们,你输入两个数字,我吓死你偶");  
        int num1 = sc.nextInt();
        int num2 = sc.nextInt();
        change(num1,num2);
    }

    public static void change(int a,int b) {
        int temp = a;
        a = b;
        b = temp;
        System.out.println(a + "  " + b);
    }

    public static void game4(){
        //正三角形*图
        Scanner sc = new Scanner(System.in);
        System.out.println("darling! 随便输入一个数,我能猜到你心里在想什么!");  
        int num = sc.nextInt();
        star(num);
        System.out.println("有没有爱上我");
    }

    public static void star(int n) {
        int i,j,k;
        for ( i = 1;i<n ; i++) {
            for ( j = 1;j < n-i ; j++) {    //打印倒三角空格
                System.out.print(" ");
            }
            for ( k = 0;k < 2*i-1 ; k++) {  //打印三角星型
                System.out.print("*");
            }
            System.out.println();           //换行
        }            
    }



    public static void game5(){
        //输入两个数字,你来计算着两个数字间的奇数有多少个
        Scanner sc = new Scanner(System.in);
        System.out.println("darling! 输入两个数字,我来计算着两个数字间的奇数有多少个");  
        int num1 = sc.nextInt();
        int num2 = sc.nextInt();
        int sum = jiShu(num1,num2);
        System.out.println("两个数之间的奇数是"+sum);
        
    }
    public static int jiShu(int a ,int b) {
        int sum = 0;
        if (a>b+1) {
            for (int i = b+1;i<a ;i++ ) {
                if (i%2!= 0) {
                    sum++;
                }
            }
        }else if (a+1<b) {
            for (int i = a+1;i<b ;i++ ) {
                if (i%2!= 0) {
                    sum++;
                }
            }
        }else {
            System.out.println("哥们,没找到奇数");
        }
        return sum;
    }
        
    public static void game6(){
        Scanner sc = new Scanner(System.in);
        System.out.println("美女你喜欢什么水果");  
        String fruit = sc.nextLine();
        System.out.println("好巧啊我也喜欢"+fruit);
    }
}

0 个回复

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