练习:37

第八章所有五个试一试,均包含在此练习中。

原题:输出”奖客富翁系统”菜单,选择菜单编号,输出菜单信息,如果编号选择错误,输出”您的输入有误!”

参考代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/*
 * 输出"奖客富翁系统"菜单,选择菜单编号,输出菜单信息,如果编号选择错误,输出"您的输入有误!"
 */
import java.util.Scanner;
public class P178_1{
    public static void main (String[]args){
        Scanner input = new Scanner (System.in);
        System.out.println("*****欢迎进入奖客富翁系统*****");
        System.out.println("\t1.注册");
        System.out.println("\t2.登录");
        System.out.println("\t3.抽奖");
        System.out.println("***************************");
        System.out.println("请选择菜单:");
        int num = input.nextInt();
        switch (num){
        case 1:
            System.out.println("[奖客富翁系统 > 注册]");
            break;
        case 2:
            System.out.println("[奖客富翁系统 > 登录]");
            break;
        case 3:
            System.out.println("[奖客富翁系统 > 抽奖]");
            break;
            default :
                System.out.println("您的输入有误!");
            break;
        }
    }
}

原题:用户选择一项菜单并输出菜单信息后,系统询问用户是否继续.
如果用户选择继续,则可以继续选择菜单,否则程序结束,退出系统.

参考代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*
 * 用户选择一项菜单并输出菜单信息后,系统询问用户是否继续.
 * 如果用户选择继续,则可以继续选择菜单,否则程序结束,退出系统.
 */
import java.util.Scanner;
public class P179_2{
    public static void main (String[]args){
        Scanner input = new Scanner(System.in);
        System.out.println("******欢迎进入奖客富翁系统******");
        System.out.println("\t1.注册");
        System.out.println("\t2.登录");
        System.out.println("\t3.抽奖");
        System.out.println("*******************************");
        String yes = "";//询问是否继续
        do {
            System.out.println("请选择菜单:");
            int num = input.nextInt();//获取菜单编号
            switch (num){
            case 1 :
                System.out.println("奖客富翁系统>注册");
                break;
            case 2 :
                System.out.println("奖客富翁系统>登录");
                break;
            case 3 :
                System.out.println("奖客富翁系统>抽奖");
                break;
                default:
                    System.out.println("输入错误,重新输入!");
                break;
                }
            System.out.println("继续吗?(y/n):");
            yes = input.next();
            } while (!"n".equals(yes)); //当yes的值为n时,结束循环
        System.out.println("程序结束!");
    }
    }

原题:
用户选择“注册”菜单,进入注册功能。
系统提示用户输入用户名和密码,系统产生四位随机数作为卡号。
注册成功。

参考代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
 * 用户选择“注册”菜单,进入注册功能。
 * 系统提示用户输入用户名和密码,系统产生四位随机数作为卡号。
 * 注册成功。
 */
import java.util.Scanner;
public class P179_3{
    public static void main (String[]args){
        Scanner input = new Scanner (System.in);
        String org = "";//询问是否继续
        String id = "";//存储用户名
        String passWord = "" ;//存储密码
        int max = 9999 ;//随机数最大值
        int min = 1000 ;//随机数最小值
        int cardNumber = (int)(Math.random()*(max-min))+min;//输出随机数
        do { //输出菜单
            System.out.println("******欢迎进入奖客富翁系统******");
            System.out.println("\t1.注册");
            System.out.println("\t2.登录");
            System.out.println("\t3.抽奖");
            System.out.println("*******************************");
            System.out.println("请选择菜单:");
            int num = input.nextInt();
            switch (num){
            case 1 :
                System.out.println("[奖客富翁系统>注册]");
                System.out.println("请填写个人注册信息:");
                System.out.print("用户名:\t");
                id = input.next();
                System.out.print("密码(可包含字母及数字,注意:字母区分大小写):\t");
                passWord = input.next();
                System.out.println();
                System.out.println();
                System.out.println("注册成功,请记好您的会员卡号");
                System.out.println("用户名\t密码\t会员卡号");
                System.out.println(id+"\t"+passWord+"\t"+cardNumber);
                break;
            case 2 :
                System.out.println("[奖客富翁系统>登录]");
                break;
            case 3 :
                System.out.println("[奖客富翁系统>抽奖]");
                break;
                default:
                    System.out.println("输入出错,请重新输入!");
                break;
            }
            System.out.println("是否继续(y/n)?");
            org = input.next();
        }while (!"n".equals(org));//当org等于n时,结束循环
        System.out.println("系统退出,谢谢使用!");
    }
}

原题:
注册成功后,用户选择登录菜单,进入登录功能(注册与登录均已整合,也就是必须先注册,后才能登录)
输入注册时的用户名和密码,登录成功.系统提示欢迎信息
如果用户名和密码输入错误,提示用户继续输入,最多有三次输入机会.

参考代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
/*
 * 注册成功后,用户选择登录菜单,进入登录功能(注册与登录均已整合,也就是必须先注册,后才能登录)
 * 输入注册时的用户名和密码,登录成功.系统提示欢迎信息
 * 如果用户名和密码输入错误,提示用户继续输入,最多有三次输入机会.
 */
import java.util.Scanner;
public class P180_4{
    public static void main (String[]args){
        Scanner input = new Scanner (System.in);
        String id = "";//存储用户名
        String passWord = "" ;//存储密码
        String VerifyPassword = "" ;//验证登录密码
        int max = 9999 ;//随机数最大值
        int min = 1000 ;//随机数最小值
        int i = 0;
        boolean kas=true;
        int cardNumber = (int)(Math.random()*(max-min))+min;//输出随机数
            for (i=0;i<100;i++){ //登录的循环结构
                System.out.println("******欢迎进入奖客富翁系统******");
                System.out.println("\t1.注册");
                System.out.println("\t2.登录");
                System.out.println("\t3.抽奖");
                System.out.println("*******************************");
                System.out.println("请选择菜单:");
                int num = input.nextInt();
                switch (num){ //菜单选择
                case 1 :
                    System.out.println("[奖客富翁系统>注册]");
                    System.out.println("请填写个人注册信息:");
                    System.out.print("用户名:\t");
                    id = input.next();//储存用户名
                    System.out.print("密码(可包含字母及数字,注意:字母区分大小写):\t");
                    passWord = input.next();//储存密码
                    System.out.println();
                    System.out.println();
                    System.out.println("注册成功,请记好您的会员卡号");
                    System.out.println("用户名\t密码\t会员卡号");
                    System.out.println(id+"\t"+passWord+"\t"+cardNumber);//输出用户信息
                    break;
                case 2 :
                    System.out.println("[奖客富翁系统>登录]");
                    System.out.print("请输入用户名:\t");
                    id = input.next(); //录入刚才键入的用户名
                    System.out.print("请输入密码:\t");
                    VerifyPassword = input.next(); //验证密码
                    /*
                     * java中判断两个字符串的值相等
                     * String str1 = input.nextInt();
                     * String str2 = input.nextInt();
                     * str1.equals(str2);//比较两个字符串值是否相同
                     *  str1 = str2;//结果为Boolean值,比较引用是否相同
                     */
                    if ("admin".equals(id) && VerifyPassword.equals(passWord) ){ //假如用户名和密码输入正确,输出欢迎
                        System.out.println();
                        System.out.println();
                        System.out.println("欢迎您:\t"+id);
                    } else if ("admin".equals(id) || VerifyPassword.equals(passWord)){  //用户名及密码有一项错误,提示用户重新输入,并且只能输入三次
                        System.out.println("抱歉,用户名或者密码输入出错,请重新输入!");
                        for (int j=4;j>1;j--){ //判断输入机会是否达到3次
                            System.out.println("您还有"+(j-1)+"次输入机会!");
                            System.out.print("请输入用户名:\t");
                            id = input.next();
                            System.out.print("请输入密码:\t");
                            VerifyPassword = input.next();
                            if ("admin".equals(id) && VerifyPassword.equals(passWord) ){//输入正确,输出欢迎提示
                                System.out.println();
                                System.out.println();
                                System.out.println("欢迎您:\t"+id);
                                break;
                        } else if (j==2){//三次均输入错误,结束循环,程序停止
                            System.out.println("抱歉,三次均输入错误!");
                            kas = false;
                            break;
                        }
                        }
                    }
                    break;
                case 3 :
                    System.out.println("[奖客富翁系统>抽奖]");
                    break;
                    default:
                        System.out.println("输入出错,请重新输入!");
                    break;
                }
                    if (kas == false){//当j==2时,使用break退出for循环,直接结束
                        break; //j=4,(4-1=3,3-1=2,2-1=1)因为我们只需要循环3次,所以当j=2时即可停止循环
                    }
                        System.out.println("是否继续(y/n)?");
                        String net = input.next();
                        if (!"y".equals(net)){//当net不等于y时继续循环,否则退出循环
                            break;
                        }
                    }
            System.out.println("***********************************");
            System.out.println("系统退出,谢谢使用!");
        }
        }

原题:
登录成功后,用户选择幸运”抽奖”菜单,进入幸运抽奖功能.
输入会员卡号,系统生成五个四位随机数作为幸运数字.
如果会员卡号是其中之一,则成为本日幸运会员;否则不是.

参考代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
/*
 * 登录成功后,用户选择幸运"抽奖"菜单,进入幸运抽奖功能.
 * 输入会员卡号,系统生成五个四位随机数作为幸运数字.
 * 如果会员卡号是其中之一,则成为本日幸运会员;否则不是.
 */
import java.util.Scanner;
public class P181_5{
    public static void main (String[]args){
        Scanner input = new Scanner (System.in);
        String id = "";//存储用户名
        String passWord = "" ;//存储密码
        String VerifyPassword = "" ;//验证登录密码
        int max = 9999 ;//随机数最大值
        int min = 1000 ;//随机数最小值
        int cardNumber1 = (int)(Math.random()*(max-min))+min;//输出本日幸运数字
        int cardNumber2 = (int)(Math.random()*(max-min))+min;//输出本日幸运数字
        int cardNumber3 = (int)(Math.random()*(max-min))+min;//输出本日幸运数字
        int cardNumber4 = (int)(Math.random()*(max-min))+min;//输出本日幸运数字
        int cardNumber5 = (int)(Math.random()*(max-min))+min;//输出本日幸运数字
        int sum = 0 ;//录入会员卡号
        int i = 0;
        boolean kas=true; //判断循环条件
        int cardNumber = (int)(Math.random()*(max-min))+min;//输出随机数
            for (i=0;i<100;i++){ //登录的循环结构
                System.out.println("******欢迎进入奖客富翁系统******");
                System.out.println("\t1.注册");
                System.out.println("\t2.登录");
                System.out.println("\t3.抽奖");
                System.out.println("*******************************");
                System.out.println("请选择菜单:");
                int num = input.nextInt();
                switch (num){ //菜单选择
                case 1 :
                    System.out.println("[奖客富翁系统>注册]");
                    System.out.println("请填写个人注册信息:");
                    System.out.print("用户名:\t");
                    id = input.next();//储存用户名
                    System.out.print("密码(可包含字母及数字,注意:字母区分大小写):\t");
                    passWord = input.next();//储存密码
                    System.out.println();
                    System.out.println();
                    System.out.println("注册成功,请记好您的会员卡号");
                    System.out.println("用户名\t密码\t会员卡号");
                    System.out.println(id+"\t"+passWord+"\t"+cardNumber);//输出用户信息
                    break;
                case 2 :
                    System.out.println("[奖客富翁系统>登录]");
                    System.out.print("请输入用户名:\t");
                    id = input.next(); //录入刚才键入的用户名
                    System.out.print("请输入密码:\t");
                    VerifyPassword = input.next(); //验证密码
                    /*
                     * java中判断两个字符串的值相等
                     * String str1 = input.nextInt();
                     * String str2 = input.nextInt();
                     * str1.equals(str2);//比较两个字符串值是否相同
                     *  str1 = str2;//结果为Boolean值,比较引用是否相同
                     */
                    if ("admin".equals(id) && VerifyPassword.equals(passWord) ){ //假如用户名和密码输入正确,输出欢迎
                        System.out.println();
                        System.out.println();
                        System.out.println("欢迎您:\t"+id);
                    } else if ("admin".equals(id) || VerifyPassword.equals(passWord)){  //用户名及密码有一项错误,提示用户重新输入,并且只能输入三次
                        System.out.println("抱歉,用户名或者密码输入出错,请重新输入!");
                        for (int j=4;j>1;j--){ //判断输入机会是否达到3次
                            System.out.println("您还有"+(j-1)+"次输入机会!");
                            System.out.print("请输入用户名:\t");
                            id = input.next();
                            System.out.print("请输入密码:\t");
                            VerifyPassword = input.next();
                            if ("admin".equals(id) && VerifyPassword.equals(passWord) ){//输入正确,输出欢迎提示
                                System.out.println();
                                System.out.println();
                                System.out.println("欢迎您:\t"+id);
                                break;
                        } else if (j==2){//三次均输入错误,结束循环,程序停止
                            System.out.println("抱歉,三次均输入错误!");
                            kas = false;
                            break;
                        }
                        }
                    }
                    break;
                case 3 :
                    System.out.println("[奖客富翁系统>抽奖]");
                    System.out.println("请输入您的会员卡号:");
                    sum = input.nextInt();//录入会员卡号
                    System.out.println();
                    System.out.println();
                    if (sum==cardNumber1 || sum==cardNumber2 || sum==cardNumber3 || sum==cardNumber4 || sum==cardNumber5 ){
                        System.out.println("本日的幸运数字为:"+cardNumber1+"\t"+cardNumber2+"\t"+cardNumber3+"\t"+cardNumber4+"\t"+cardNumber5);
                        System.out.println("您输入的卡号是:"+sum);
                        System.out.println("恭喜,您是本日的幸运会员!");
                    } else {
                        System.out.println("本日的幸运数字为:"+cardNumber1+"\t"+cardNumber2+"\t"+cardNumber3+"\t"+cardNumber4+"\t"+cardNumber5);
                        System.out.println("您输入的卡号是:"+sum);
                        System.out.println("抱歉,您不是本日的幸运会员!");
                    }
                    break;
                    default:
                        System.out.println("输入出错,请重新输入!");
                    break;
                }
                    if (kas == false){//当j==2时,使用break退出for循环,直接结束
                        break; //j=4,(4-1=3,3-1=2,2-1=1)因为我们只需要循环3次,所以当j=2时即可停止循环
                    }
                        System.out.println("是否继续(y/n)?");
                        String net = input.next();
                        if (!"y".equals(net)){//当net不等于y时继续循环,否则退出循环
                            break;
                        }
                    }
            System.out.println("***********************************");
            System.out.println("系统退出,谢谢使用!");
        }
        }