一、String习题
1、请根据控制台输入的特定日期格式拆分日期
如:请输入一个日期(格式如:XXXX年XXX月XX日)经过处理得到:XX月XX日XXXX年
提示:使用String的方法indexOf、lastIndexOf、substring
解题思路一:
-
使用indexOf()确定“年”、“月”、“日”三个字的位置
-
使用substring()将年份、月份、日期分为三个小字符串
-
将三个小字符串按照顺序拼接起来,获得一个完整的,有序的日期
示例代码:
package test; /* 1.请根据控制台输入的特定日期格式拆分日期 如:请输入一个日期(格式如:**月**日****年) 经过处理得到:****年**月**日 提示:使用String的方法indexOf、lastIndexOf、substring 测试数据:2017年5月13日 */ import java.util.Scanner; public class test { public static void main(String[] args) { System.out.println("请输入日期:(****年**月**日)"); Scanner sc = new Scanner(System.in); String text = sc.nextLine(); System.out.println(text); int year = text.indexOf("年"); int mon = text.indexOf("月"); int day = text.indexOf("日"); String year1 = text.substring(0,text.indexOf("年"))+"年"; String mon1 =text.substring(text.indexOf("年")+1,text.indexOf("月"))+"月"; String day1 = text.substring(text.indexOf("月")+1,text.indexOf("日"))+"日"; System.out.println(mon1+day1+year1); } }
2、给出一个随机字符串,判断有多少字母?多少数字?
解题思路一:
-
将字符串转换为一个字符数组
-
将字符数组进行遍历,同时将每一个元素进行判断
-
使用两个变量分别统计出现的字母数量和数字数量
代码示例:
package test; import java.util.Scanner; // 2.给出一个随机字符串,判断有多少字母?多少数字? public class test2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String text = sc.nextLine(); char[] textCopy = text.toCharArray(); int numCount = 0,charCount = 0,elseCount = 0; for (char a : textCopy) { if( a >= '0' && a <= '9'){ numCount++; }else if (a >= 'a' && a <= 'z' || a >= 'A' && a <= 'Z'){