1.编写程序,使用String类和StringBuffer类的方法,
实现将两个字符串大小写转换后连接到一起,再将连接后的字符串倒序输出。
例如 “PersoN”“peOple”,连接成“pERSOnPWoPLE”,再逆序输出“ELPoEPnOSREp
public static void main(String[] args) { String str = new String("PersoN"); StringBuffer str2 = new StringBuffer("peOple"); //StringBuffer转换String String str1 = new String(str2); //方法二 // String str1 = str2.toString(); String str3 = new String(str+str1); StringBuffer str4 = new StringBuffer(str3).reverse(); // System.out.println(str3); for (int i = 0; i < str4.length(); i++) {//遍历字符串 if (Character.isLowerCase(str4.charAt(i))) {//判断是不是小写 System.out.print((str4.charAt(i)+"").toUpperCase());//将字符串转换为大写 }else {//不是小写的情况 System.out.print((str4.charAt(i)+"").toLowerCase());//将字符串转换为小写 } } }
2.计算从今天是算起,170天以后是几月几号,并格式化成XXXX年XX月XX日的形式输出。
提示:
① 调用Calendar类的add方法计算170以后的日期。
② 调用Calendar类的getTime方法返回Date类对象
使用SimpleDateFormat类的对象调用format方法输出指定格式的日期
public static void main(String[] args) { //获取当前时间 Calendar c = Calendar.getInstance(); c.add(Calendar.DATE,170); Date date = c.getTime(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); System.out.println(sdf.format(date)); }
3.计算2021年4月25日和2020年7月8日之间间隔的天数。
提示:
① 创建SimpleDateFormat类的对象,指定日期格式化的格式
② 按照指定格式从键盘上输入日期字符串(和上面指定格式一致)
③ 用SimpleDateFormat类的对象将输入日期字符串转换为Date类的对象
④ 用Date对象的after方法求出天数差。
public static void main(String[] args) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Scanner sc = new Scanner(System.in); System.out.println("请输入第一个日期格式:2021-4-25"); String str1 =sc.next(); System.out.println("请输入第二个日期格式:2020-7-8"); String str2 =sc.next(); //SimpleDateFormat类的对象将输入日期字符串转换为Date类的对象 Date date1 = sdf.parse(str1); Date date2 = sdf.parse(str2); int sum; // date1.after(date2)如果date1比date2大,返回true,否则返回false if(date1.after(date2)) { sum = (int)((date1.getTime()-date2.getTime())/(1000*3600*24)); }else { sum = (int)((date2.getTime()-date1.getTime())/(1000*3600*24)); } System.out.println("2021年4月25日和2020年7月8日之间间隔的天数是"+sum); }
//输入一个字符串判断是否是回文
//回文数:一个字符串反转过来和原来字符串一样
public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个字符串"); String str = sc.next(); StringBuffer sb = new StringBuffer(str); //反转过来 sb.reverse(); int count = 0; //判断反转过来的每个字符和原来的是否都相等,统计相等的个数 for (int i = 0; i < str.length(); i++) { if (str.charAt(i) == sb.charAt(i)) { count++; } } //相等的个数与原来的字符串长度是否一致 if (count == str.length()) { System.out.println(str+"-是一个回文字符串"); } else { System.out.println(str+"-不是一个回文字符串"); } }
将下列文字中的凡是涉及到“恐怖”“爆炸”“军火”的敏感词过滤掉,然后输出。
“车臣恐怖分子计划利用爆炸摧毁政府的军火库。”
public static void main(String[] args) { String str1 = "车臣恐怖分子计划利用爆炸摧毁政府的军火库。"; String[] str = {"恐怖","爆炸","军火"}; for(String s:str) { //replace(旧值,新值),替换 str1 = str1.replace(s, ""); } System.out.println(str1); }