package com.String;public class A { public static void main(String[] args) { String str = "this is a test of java"; t1(str);// static方法可直接调用 t2(str); t3(str); t4(str); t5(str); t6(str); t8("123321"); } // 1.统计该字符串中字母s出现的次数 public static void t1(String str) { int num = 0;// 定义一个计数器 for (int i = 0; i < str.length(); i++) { char ch = str.charAt(i);// 获取当前位置的字符 if (ch == ‘s‘) { num++;// 若有一个S,计数器+1 } } System.out.println("字符串中共有:" + num + "个s"); } // 2.取出子字符串"test" public static void t2(String str) { int beginIndex = str.indexOf("test");// 子字符串的位置第一次出现的位置 int endIndex = beginIndex + 4; String s = str.substring(beginIndex, endIndex); System.out.println(s); } // 3.用多种方式将本字符串复制到一个字符数组Char[]中 public static void t3(String str) { // 方法一:Char[] ch=str.toCharArray(); // 方法二: char[] ch = new char[str.length()];// 定义一个数组 for (int i = 0; i < str.length(); i++) { ch[i] = str.charAt(i);// 取出特定位置的字符交给数组 } System.out.println(ch.length + "," + str.length());// 数组长度和字符串长度一致,则说明复制成功 } // 4.将字符串中每个单词的第一个字母变成大写, 输出到控制台。 public static void t4(String str) { String[] ss = str.split(" ");// 以空格分出单词,得到字符串数组 String result = ""; for (int i = 0; i < str.length(); i++) { char c = ss[i].charAt(0);// 将单词的首字母取出 String s = String.valueOf(c);// 将字符转为字符串 或者a-97,A-65 String s1 = s.toUpperCase();// 变为大写 System.out.println(s1); String s2 = s1 + ss[i].substring(1);// ss[i].substring(1):截取出每个单词中除了首字母之外剩下的字符串 result = result + s2 + " "; } System.out.println(result); } // 5.实现该字符串的倒序输出 public static void t5(String str) { String s = new StringBuffer(str).reverse().toString();// 匿名对象调用reverse方法逆转之后,变成字符串 System.out.println(s); } // 6.将本字符串转换成一个字符串数组,要求每个数组元素都是一个有意义的英文单词,并输出到控制台 public static void t6(String str) { String[] ss = str.split(" ");// 用空格分隔 for (int i = 0; i < str.length(); i++) { // 判断当前ss[i]是不是有效的单词: boolean b = true;// 定义标志量b,默认b有效 for (int j = 0; j < str.length(); j++) { if (!((ss[i].charAt(j) >= ‘a‘ && ss[i].charAt(j) <= ‘z‘) || (ss[i] .charAt(j) >= ‘A‘ && ss[i].charAt(j) <= ‘Z‘))) { b = false;// ss[i]不是单词,只要有一个不是就跳出循环 break; } } if (b) { System.out.println(ss[i]); } } System.out.println("----------"); } // 8.判断输入字符串是否为回文(如 12344321、abccba是回文 112233不是)--对折后相同 public static void t8(String str) { //方法三:将字符串逆转,和原串相同,则为回文 //方法二:前一半和后一半字符串做计较 String s1 = str.substring(0, str.length() / 2);// 前一半字符串 String s2 = str.substring(str.length() / 2 + (str.length() % 2), str.length());// 后一半字符串 String s3 = new StringBuffer(s2).reverse().toString(); if (s1.equals(s3)) { System.out.println("true"); } } } // 7.实现该字符串的按词倒叙输出。(即输出siht si a tset fo avaj).
时间: 2024-10-15 14:11:46