1、统计一个字符串中大写字母,小写字母,数字出现的次数
/*需求:统计一个字符串中大写字母,小写字母,数字出现的次数 "HadoopJava12138" 结果: 大写字符:2个 小写字符:8个 数字字符:5个 分析: 1.输入字符串 2.大写计数:Acount 小写计数:acount 数字计数: count 3.获取字符串的长度 4,将字符串转换成字符数组 5.遍历判断 */ public class Stringtext1 { public static void main(String[] args) { String s = "HadoopJava12138"; int Acount = 0; int acount = 0; int count = 0; //方式一 使用将字符串转换功能中的toCharArray()方法将字符串转化为字符数组 char[] c = s.toCharArray(); for (int i = 0; i < c.length; i++) { if (c[i] >= 'a' && c[i] <= 'z') { acount++; } else if (c[i] >= 'A' && c[i] < 'Z') { Acount++; } else if (c[i] >= '0' && c[i] <= '9') { count++; } } //方式二 使用String类的获取功能的charAt()方法 // for (int i = 0; i < s.length(); i++) { // char c = s.charAt(i); // if (c >= 'a' && c <= 'z') { // acount++; // } else if (c >= 'A' && c < 'Z') { // Acount++; // } else if (c >= '0' && c <= '9') { // count++; // } // } System.out.println("字符串中大写字符个数" + Acount); System.out.println("字符串中小字符个数" + acount); System.out.println("字符串中数字字符个数" + count); } }
2.把一个字符串的首字母转成大写,其余的都是小写。
/* 需求:把一个字符串的首字母转成大写,其余的都是小写。 举例:"HadoOPJava" ---> "Hadoopjava" 分析: 方式1: 1、把字符串全部转成小写 2、获取第一个字符,转成大写 方式2: 1、先获取第一个字符 2、再获取除了第一个以外的字符 3、把第一步的字符转成大写 4、把第二部获取的字符转成小写 5、把第三步和第四步的字符串拼接 6、输出 */ public class StringText2 { public static void main(String[] args) { String s = "HadoOPJava"; // 方法1 // 将字符串通过toLowerCase()方法全部转换为小写 // String s1 = s.toLowerCase(); // String s2 = s1.substring(0, 1).toUpperCase().concat(s1.substring(1)); // System.out.println("字符串转换前"+s);//字符串转换前HadoOPJava // System.out.println("字符串转换后"+s2);//字符串转换后Hadoopjava //方法2 //获取第一个字符 String s1 = s.substring(0, 1); //获取除了第一个以外的字符 String s2 = s.substring(1); //第一个字符转换为大写 String s3 = s1.toUpperCase(); //其他字符转换为小写 String s4 = s2.toLowerCase(); //两个字符串拼接 String s5 = s3.concat(s4); //链式编程 String concat = s.substring(0, 1).toUpperCase().concat(s.substring(1).toLowerCase()); System.out.println("字符串转换前"+s);//字符串转换前HadoOPJava System.out.println("字符串转换后"+s5);//字符串转换后Hadoopjava System.out.println("字符串转换后"+concat);//字符串转换后Hadoopjava } }
3.把数组中的数据按照指定个格式拼接成一个字符串
举例:int[] arr = {1,2,3}; 输出结果:[1, 2, 3]
/* 把数组中的数据按照指定个格式拼接成一个字符串 举例:int[] arr = {1,2,3}; 输出结果:[1, 2, 3] 分析: 1、定义一个空字符串 2、先在字符串前面拼接一个"[" 3、遍历该int型数组,获取到每一个元素 4、判断是否读到了最后一个元素,如果是,在后面拼接上一个"]" 5、输出 */ public class StringText3 { public static void main(String[] args) { int[] arr = {1,2,3}; //定义一个空字符串 String s = ""; //先在字符串前面拼接一个"[" s += "["; //遍历该int型数组,获取到每一个元素 for (int i = 0;i<arr.length;i++){ //判断是否读到了最后一个元素,如果是,在后面拼接上一个"]" if (i == arr.length-1){ s += arr[i]; s += "]"; }else{ s += arr[i]; s += ","; } } //输出 System.out.println("数组转换为数组为"+s); } }
3.字符串反转
/*符串反转 举例:键盘录入”abc” 输出结果:”cba”*/ import java.util.Scanner; public class StringText5 { public static void main(String[] args) { //创建键盘录入对象 Scanner sc = new Scanner(System.in); System.out.println("请输入字符串"); String s1 = sc.next(); //方式一 ,倒序遍历字符串数组 //将字符串转换为字符数组 char[] c1 = s1.toCharArray(); //定义一个空字符串 String s2 =""; for (int i =c1.length-1;i>=0;i--){ s2 += c1[i]; } //输出 System.out.println("字符串反转前:"+s1); System.out.println("字符串反转结果:"+s2); // //方式二 遍历反转 // //将字符串转为字符数组 // char[] c = s1.toCharArray(); // for (int start = 0, end = c.length - 1; start <= end; start++, end--) { // char temp = c[start]; // c[start] = c[end]; // c[end] = temp; // } // String s2 = new String(c); // //输出 // System.out.println("字符串反转前:"+s1); // System.out.println("字符串反转结果:"+s2); } }
4.统计大串中小串个数
/* 统计大串中小串出现的次数 举例:ehenaijavaxindeaijavawozhendehenaijavaxindeaijavawozhendehenaijavaxin” java 出现的次数 */ public class StringText4 { public static void main(String[] args) { //创建大串字符串 String s = "ehenaijavaxindeaijavawozhendehenaijavaxindeaijavawozhendehenaijavaxin"; //定义count计数 int count = 0; //创建小串字符串 String s1 = "java"; //找到小串在大串第一次出现的索引 int i = s.indexOf(s1); if(i==-1){ System.out.println("字符串中没有找到小串"); }else{ while(i!=-1){ count++; //截取字符串 //定义字符串截取位置变量j int j = i +s1.length(); //第一次找到子字符串以后在此后截取字符串并覆盖大字符串,通俗的讲就是找到一个子字符串然后删除找到位置之前的字符 s = s.substring(j); //同时实时更新新字符串中包含子字符串索引值,知道找不到为止 i = s.indexOf(s1); } } System.out.println(s);//xin System.out.println(i);//-1 System.out.println("输入大串中java出现次数:"+count);//输入大串中java出现次数:5 } }