1、统计字符串中数字个数 (如:“abc21b416u” ===> 输出5)
String str1 = "abc21b416u";
int count = 0;
for (int i = 0; i < str1.length(); i++) {
//Character.isDigit(str.charAt(i));//判断字符是否为数字
char str11 = str1.charAt(i);
if (str11 >= '0' && str11 <= '9') {
count++;
}
}
System.out.println("字符串中数字的个数:" + count);
2、将一个数组从左开始第几位之前的进行旋转:左旋数组
如:将"abcdef"第2位之前(a为0号位置)进行旋转----》“cdefab”
String str2 = "abcdef12";
int n = 2;
String str21 = str2.substring(0, n);
String str22 = str2.substring(n);
String str23 = str22 + str21;
System.out.println(str23);
3、键盘录入QQ号码,验证格式的正确性。(1、必须是5—12位数字;2、0不能开头)
System.out.println("请输入QQ:");
Scanner scanner = new Scanner(System.in);
String inputQQ = scanner.nextLine();
boolean b = inputQQ.matches("[1-9][0-9]{4,11}");
System.out.println("你的QQ合法性:" + b);
4、键盘录入一个大字符串,再录入一个小字符串,统计小字符串在大字符串中出现的次数
Scanner scanner = new Scanner(System.in);
System.out.println("请输入大字符串:");
String bigstr = scanner.nextLine();
System.out.println("请输入小字符串:");
String smallstr = scanner.nextLine();
int count=0;
boolean b=true;
while (b){
int index=bigstr.indexOf(smallstr);
String str= bigstr.substring(index+smallstr.length());
bigstr=str;
if (index==(-1)){
b=false;
}
else {
count++;
}
}
System.out.println(count);
5.替换某字符串中的某字符串。
键盘录入一个str字符串,再录入一个str1字符串。 删除str中的所有str1字符串。 并且统计str1字符串在str中出现的次数。
Scanner scanner = new Scanner(System.in);
System.out.println("请输入str字符串:");
String str = scanner.nextLine();
System.out.println("请输入str1字符串:");
String str1 = scanner.next();
int count = 0;
int index;
String tempStr = str;
while ((index = tempStr.indexOf(str1)) != -1) {
tempStr = tempStr.substring(index + str1.length());
count++;
}
System.out.println("源字符串中总共包含:" + count + "个" + str1);
String replaceStr = str.replaceAll(str1, "");
System.out.println("删除" + str1 + "后的字符串为:" + replaceStr);
scanner.close();
6、输入一个手机号,将中间四位使用星号替代
Scanner scanner = new Scanner(System.in);
System.out.println("请输入电话号码:");
String Tel = scanner.nextLine();
while (true) {
//判断电话号码是否合法
boolean b = Tel.matches("^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\\d{8}$");
if (b == true) {
char[] char1 = Tel.toCharArray();
for (int i = 0; i < 4; i++) {
char1[i + 3] = '*';
}
System.out.println(char1);
break;
} else {
System.out.println("输入的电话号码错误!");
System.out.println("请重新输入电话号码:");
String Tel1 = scanner.nextLine();
Tel = Tel1;
}
}
7、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
Scanner scanner = new Scanner(System.in);
System.out.println("请输入:");
String str7 = scanner.nextLine();
int count = 0;
int zm = 0;
int kg = 0;
int qt = 0;
for (int i = 0; i < str7.length(); i++) {
char str11 = str7.charAt(i);
if (str11 >= '0' && str11 <= '9') {
count++;
} else if ((str11 >= 'a' && str11 <= 'z') || (str11 >= 'A' && str11 <= 'Z')) {
zm++;
} else if (str11 == ' ') {
kg++;
} else {
qt++;
}
}
System.out.println("字符串中数字的个数:" + count);
System.out.println("字符串中字母的个数:" + zm);
System.out.println("字符串中空格的个数:" + kg);
System.out.println("字符串中其他的个数:" + qt);
8、统计字符串“aasdfafafhgf”中每个字符出现的次数。
String str ="aasdfafafhgf";
Map<Character,Integer> map = new HashMap<Character,Integer>();
for(int i=0;i<str.length();i++){
char c = str.charAt(i);//用toCharArray()也可以
if(map.containsKey(c)){//若统计过
map.put(c, map.get(c)+1);
}else{
map.put(c, 1);
}
}
System.out.println(map);