请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。

浏览:395收藏:0
答案:
1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。
import java.util.Scanner;
public class Ex26 {
    public static void main(String[] args){
        //保存用户输入的第二个字母
        char weekSecond;
        //将Scanner类示例化为input对象,用于接收用户输入
        Scanner input = new Scanner(System.in);
        //开始提示并接收用户控制台输入
        System.out.print("请输入星期值英文的第一个字母,我来帮您判断是星期几:");
        String letter = input.next();
        //判断用户控制台输入字符串长度是否是一个字母
        if (letter.length() == 1){
            //利用取第一个索引位的字符来实现让Scanner接收char类型输入
            char weekFirst = letter.charAt(0);
            switch (weekFirst){
                case 'm':
                //当输入小写字母时,利用switch结构特性执行下一个带break语句的case分支,以实现忽略用户控制台输入大小写敏感的功能
                case 'M':
                System.out.println("星期一(Monday)");
                break;
                case 't':
                //当输入小写字母时,利用switch结构特性执行下一个带break语句的case分支,以实现忽略用户控制台输入大小写敏感的功能
                case 'T':
                System.out.print("由于星期二(Tuesday)与星期四(Thursday)均以字母T开头,故需输入第二个字母才能正确判断:");
                letter = input.next();
                //判断用户控制台输入字符串长度是否是一个字母
                if (letter.length() == 1){
                    //利用取第一个索引位的字符来实现让Scanner接收char类型输入
                    weekSecond = letter.charAt(0);
                    //利用或(||)运算符来实现忽略用户控制台输入大小写敏感的功能
                    if (weekSecond == 'U' || weekSecond == 'u'){
                        System.out.println("星期二(Tuesday)");
                        break;
                        //利用或(||)运算符来实现忽略用户控制台输入大小写敏感的功能
                    } else if (weekSecond == 'H' || weekSecond == 'h'){
                        System.out.println("星期四(Thursday)");
                        break;
                        //控制台错误提示
                    } else{
                        System.out.println("输入错误,不能识别的星期值第二个字母,程序结束!");
                        break;
                    }
                } else {
                    //控制台错误提示
                    System.out.println("输入错误,只能输入一个字母,程序结束!");
                    break;
                }
                case 'w':
                //当输入小写字母时,利用switch结构特性执行下一个带break语句的case分支,以实现忽略用户控制台输入大小写敏感的功能
                case 'W':
                System.out.println("星期三(Wednesday)");
                break;
                case 'f':
                //当输入小写字母时,利用switch结构特性执行下一个带break语句的case分支,以实现忽略用户控制台输入大小写敏感的功能
                case 'F':
                System.out.println("星期五(Friday)");
                break;
                case 's':
                //当输入小写字母时,利用switch结构特性执行下一个带break语句的case分支,以实现忽略用户控制台输入大小写敏感的功能
                case 'S':
                System.out.print("由于星期六(Saturday)与星期日(Sunday)均以字母S开头,故需输入第二个字母才能正确判断:");
                letter = input.next();
                //判断用户控制台输入字符串长度是否是一个字母
                if (letter.length() == 1){
                    //利用取第一个索引位的字符来实现让Scanner接收char类型输入
                    weekSecond = letter.charAt(0);
                    //利用或(||)运算符来实现忽略用户控制台输入大小写敏感的功能
                    if (weekSecond == 'A' || weekSecond == 'a'){
                        System.out.println("星期六(Saturday)");
                        break;
                        //利用或(||)运算符来实现忽略用户控制台输入大小写敏感的功能
                    } else if (weekSecond == 'U' || weekSecond == 'u'){
                        System.out.println("星期日(Sunday)");
                        break;
                        //控制台错误提示
                    } else{
                        System.out.println("输入错误,不能识别的星期值第二个字母,程序结束!");
                        break;
                    }
                } else{
                    //控制台错误提示
                    System.out.println("输入错误,只能输入一个字母,程序结束!");
                    break;
                }
                default:
                //控制台错误提示
                System.out.println("输入错误,不能识别的星期值第一个字母,程序结束!");
                break;
            }
        } else{
            //控制台错误提示
            System.out.println("输入错误,只能输入一个字母,程序结束!");
        }
    }
}