【程序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("输入错误,只能输入一个字母,程序结束!"); } } }