题目1:编写一个程序,将一个字符串s尾部的m个字符移动到该字符串首部,例如字符串s为“abcdccutsoft”,M为8,则程序执行完毕后的结果为“ccutsoftabcd”。
//题目1:编写一个程序,将一个字符串S尾部的M个字符移动到该字符串首部,例如字符串S为“abcdccutsoft”,M为8, //则程序执行完毕后的结果为“ccutsoftabcd”。 import java.util.*; public class p3_1 { public static void main(String[] args) { System.out.println("请输入一个字符串S: "); Scanner input = new Scanner(System.in); String S = input.next(); System.out.println("请输入M: "); int M = input.nextInt(); int x; x = S.length() - M; String s1 = S.substring(x); // System.out.println(s1); String s2 = S.substring(0, x); // System.out.println(s2); StringBuffer s3 = new StringBuffer(s2); StringBuffer s4 = new StringBuffer(s1); s4.append(s3); System.out.println("程序执行完毕后的结果: "); System.out.println(s4); } }
题目2:输入一个字符串,请判断是否满足身份证基本要求,并返回具体的生日yyyy-mm-dd。如果输入数据有误,请输出0000-00-00。基本要求是:a)必须是18位;b) 前面位数必须是数字,最后一位可以是数字或小写字母;c) 日期是存在的。输入样例53010219900508011x,输出样例:1990-05-08
//输入一个字符串,请判断是否满足身份证基本要求,并返回具体的生日yyyy-mm-dd。 //如果输入数据有误,请输出0000-00-00。基本要求是:a)必须是18位;b) 前面位数必须是数字,最后一位可以是数字或小写字母;c) 日期是存在的。 //输入样例53010219900508011x,输出样例:1990-05-08 import java.util.*; public class p3_2 { public static void main(String[] args) { while (true) { // 判断身份证号是否输入正确 String regex = "(^[1-9]\\d{5}(19|20)\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)"; System.out.println("请输入您的身份证号: "); Scanner input = new Scanner(System.in); String id_s = input.next(); //截取日期验证是否存在 String y_m = id_s.substring(6, 14); int int_ym = Integer.parseInt(y_m); //截取年 String year = id_s.substring(6, 10); //截取月 String month = id_s.substring(10, 12); //截取日 String day = id_s.substring(12, 14); if (id_s.matches(regex)) { if (int_ym < 20220529) { System.out.println("您的出生日期是:\n" + year + "-" + month + "-" + day); } else { System.out.println("0000-00-00"); } } } } }