JAVA经典算法40题(13)

【程序25】题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

import java.util.Scanner;
public class Ex25 {
    static int[] a = new int[5];
    static int[] b = new int[5];
    public static void main(String[] args) {
        boolean is =false;
        Scanner s = new Scanner(System.in);
        long l = s.nextLong();
        if (l > 99999 || l < 10000) {
            System.out.println("Input error, please input again!");
            l = s.nextLong();
        }
        for (int i = 4; i >= 0; i--) {
            a[i] = (int) (l / (long) Math.pow(10, i));
            l =(l % ( long) Math.pow(10, i));
        }
        System.out.println();
        for (int i=0,j=0; i<5; i++, j++) {
            b[j] = a[i];
        }
        for(int i=0,j=4; i<5; i++, j--) {
            if(a[i] != b[j]) {
                is = false; break;
            } else {
                is = true;
            }
        }
        if(is == false) {
            System.out.println("is not a Palindrom!");
        } else if(is == true) {
            System.out.println("is a Palindrom!");
        }
    }
}

 

【程序26】题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。

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':
                    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':
                   case 'W':
                       System.out.println("星期三(Wednesday)");break;
               case 'f':
                   case 'F':
                       System.out.println("星期五(Friday)");break;
               case 's':
                   case 'S':
                       System.out.print("由于星期六(Saturday)与星期日(Sunday)均以字母S开头,"
                           +"故需输入第二个字母才能正确判断:");
                       letter = input.next();
                       if (letter.length() == 1){
                           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("输入错误,只能输入一个字母,程序结束!");
        }
    }
}

 

你可能感兴趣的:(java,算法,it)