练习:19

原题目:
从键盘输入一个整数,当输入1~7时,显示下面对应的英文星期名称和缩写.
1:MON 2:TUE 3:WED 4:THU 5:FRI 6:SAT 7:SUN
输入其他数字时提示用户重新输入,输入数字0时程序结束.

分别用了while,do-while,for循环结构来做这道题,源代码如下(在使用for循环的时候,假设for循环的条件也是0,那么循环将不会被执行,因此若需要停止for循环,输入10即可):

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
117
118
119
120
121
122
123
124
import java.util.*;
public class P120_5{
    public static void main (String[]args){
        Scanner input = new Scanner (System.in);
        int num = 1 ;//定义用户输入的数字
        int day = 0 ;//定义天数
        while ( num!=0 ){ //定义当用户输入0时,结束循环
            System.out.println("请输入数字1~7(输入0结束)(while循环):");
            num = input.nextInt();//录入用户输入的数字
            day = num ; //将num的值赋给day
            if ( num =1 ){ //当用户输入的数字正确时,提示文字,否则提示错误,执行下一次循环
                switch (day){
                case 1 :
                    System.out.println("今天是:MON");
                    break;
                case 2 :
                    System.out.println("今天是:TUE");
                    break;
                case 3 :
                    System.out.println("今天是:WED");
                    break;
                case 4 :
                    System.out.println("今天是:THU");
                    break;
                case 5 :
                    System.out.println("今天是:FRI");
                    break;
                case 6 :
                    System.out.println("今天是:SAT");
                    break;
                case 7 :
                    System.out.println("今天是:SUN");
                    break;
            }
                }
                else if ( num !=0 ) {//当值为0时,不再执行错误的提示
                System.out.println("*************************");
                System.out.println("数字输入错误,请重新输入!");
                System.out.println("*************************");
                continue; //跳转标签,当条件不符合本次循环时,跳出本次循环,执行下一次循环
                }
            }
        System.out.println("while循环结束!下面是do-while循环结构所写的代码");
        System.out.println("***********do-while循环开始**************");
        do {
            System.out.println("请输入数字1~7(输入0结束)(do-while循环):");
            num = input.nextInt();//录入用户输入的数字
            day = num ; //将num的值赋给day
            if ( num =1 ){ //当用户输入的数字正确时,提示文字,否则提示错误,执行下一次循环
                switch (day){
                case 1 :
                    System.out.println("今天是:MON");
                    break;
                case 2 :
                    System.out.println("今天是:TUE");
                    break;
                case 3 :
                    System.out.println("今天是:WED");
                    break;
                case 4 :
                    System.out.println("今天是:THU");
                    break;
                case 5 :
                    System.out.println("今天是:FRI");
                    break;
                case 6 :
                    System.out.println("今天是:SAT");
                    break;
                case 7 :
                    System.out.println("今天是:SUN");
                    break;
            }
                }
                else if ( num !=0 ) {//当值为0时,不再执行错误的提示
                System.out.println("*************************");
                System.out.println("数字输入错误,请重新输入!");
                System.out.println("*************************");
                continue; //跳转标签,当条件不符合本次循环时,跳出本次循环,执行下一次循环
                }
            } while ( num!=0 );
        System.out.println("*************************");
        System.out.println("do-while循环结束!下面是for循环结构所写的代码:");
        System.out.println("*************************");
        for ( ; num!=10; ){
            System.out.println("请输入数字1~7(输入10结束)(for循环):");
            num = input.nextInt();//录入用户输入的数字
            day = num ; //将num的值赋给day
            if ( num =1 ){ //当用户输入的数字正确时,提示文字,否则提示错误,执行下一次循环
                switch (day){
                case 1 :
                    System.out.println("今天是:MON");
                    break;
                case 2 :
                    System.out.println("今天是:TUE");
                    break;
                case 3 :
                    System.out.println("今天是:WED");
                    break;
                case 4 :
                    System.out.println("今天是:THU");
                    break;
                case 5 :
                    System.out.println("今天是:FRI");
                    break;
                case 6 :
                    System.out.println("今天是:SAT");
                    break;
                case 7 :
                    System.out.println("今天是:SUN");
                    break;
            }
                }
                else if ( num !=10 ) {//当值为0时,不再执行错误的提示
                System.out.println("*************************");
                System.out.println("数字输入错误,请重新输入!");
                System.out.println("*************************");
                continue; //跳转标签,当条件不符合本次循环时,跳出本次循环,执行下一次循环
                }
        }
        System.out.println("for循环结束!");
        System.out.println("*******************");
        System.out.println("程序结束!");
        }
    }