六、String类的练习

来源:互联网 发布:stc单片机iap远程升级 编辑:程序博客网 时间:2024/04/30 01:13
/* * 需求:把数组中的数据按照指定个格式拼接成一个字符串 * 举例: * int[] arr = {1,2,3}; * 输出结果: *"[1, 2, 3]" * 分析: * A:定义一个字符串对象,只不过内容为空 * B:先把字符串拼接一个"[" * C:遍历int数组,得到每一个元素 * D:先判断该元素是否为最后一个 * 是:就直接拼接元素和"]" * 不是:就拼接元素和逗号以及空格 * E:输出拼接后的字符串 */public class StringTest {public static void main(String[] args) {// 前提是数组已经存在int[] arr = { 1, 2, 3 };// 定义一个字符串对象,只不过内容为空String s = "";// 先把字符串拼接一个"["s += "[";// 遍历int数组,得到每一个元素for (int x = 0; x < arr.length; x++) {// 先判断该元素是否为最后一个if (x == arr.length - 1) {// 就直接拼接元素和"]"s += arr[x];s += "]";} else {// 就拼接元素和逗号以及空格s += arr[x];s += ", ";}}// 输出拼接后的字符串System.out.println("最终的字符串是:" + s);}}
/* * 需求:把数组中的数据按照指定个格式拼接成一个字符串 * 举例: * int[] arr = {1,2,3}; * 输出结果: *"[1, 2, 3]" * 分析: * A:定义一个字符串对象,只不过内容为空 * B:先把字符串拼接一个"[" * C:遍历int数组,得到每一个元素 * D:先判断该元素是否为最后一个 * 是:就直接拼接元素和"]" * 不是:就拼接元素和逗号以及空格 * E:输出拼接后的字符串 *  * 把代码用功能实现。 */public class StringTest2 {public static void main(String[] args) {// 前提是数组已经存在int[] arr = { 1, 2, 3 };// 写一个功能,实现结果String result = arrayToString(arr);System.out.println("最终结果是:" + result);}/* * 两个明确: 返回值类型:String 参数列表:int[] arr */public static String arrayToString(int[] arr) {// 定义一个字符串String s = "";// 先把字符串拼接一个"["s += "[";// 遍历int数组,得到每一个元素for (int x = 0; x < arr.length; x++) {// 先判断该元素是否为最后一个if (x == arr.length - 1) {// 就直接拼接元素和"]"s += arr[x];s += "]";} else {// 就拼接元素和逗号以及空格s += arr[x];s += ", ";}}return s;}}
import java.util.Scanner;/* * 字符串反转 * 举例:键盘录入”abc” * 输出结果:”cba” *  * 分析: * A:键盘录入一个字符串 * B:定义一个新字符串 * C:倒着遍历字符串,得到每一个字符 * a:length()和charAt()结合 * b:把字符串转成字符数组 * D:用新字符串把每一个字符拼接起来 * E:输出新串 */public class StringTest3 {public static void main(String[] args) {// 键盘录入一个字符串Scanner sc = new Scanner(System.in);System.out.println("请输入一个字符串:");String line = sc.nextLine();/*// 定义一个新字符串String result = "";// 把字符串转成字符数组char[] chs = line.toCharArray();// 倒着遍历字符串,得到每一个字符for (int x = chs.length - 1; x >= 0; x--) {// 用新字符串把每一个字符拼接起来result += chs[x];}// 输出新串System.out.println("反转后的结果是:" + result);*/// 改进为功能实现String s = myReverse(line);System.out.println("实现功能后的结果是:" + s);}/* * 两个明确: 返回值类型:String 参数列表:String */public static String myReverse(String s) {// 定义一个新字符串String result = "";// 把字符串转成字符数组char[] chs = s.toCharArray();// 倒着遍历字符串,得到每一个字符for (int x = chs.length - 1; x >= 0; x--) {// 用新字符串把每一个字符拼接起来result += chs[x];}return result;}}
/* * 统计大串中小串出现的次数 * 举例: * 在字符串"woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun" * 结果: * java出现了5次 *  * 分析: * 前提:是已经知道了大串和小串。 *  * A:定义一个统计变量,初始化值是0 * B:先在大串中查找一次小串第一次出现的位置 * a:索引是-1,说明不存在了,就返回统计变量 * b:索引不是-1,说明存在,统计变量++ * C:把刚才的索引+小串的长度作为开始位置截取上一次的大串,返回一个新的字符串,并把该字符串的值重新赋值给大串 * D:回到B */public class StringTest4 {public static void main(String[] args) {// 定义大串String maxString = "woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun";// 定义小串String minString = "java";// 写功能实现int count = getCount(maxString, minString);System.out.println("Java在大串中出现了:" + count + "次");}/* * 两个明确: 返回值类型:int 参数列表:两个字符串 */public static int getCount(String maxString, String minString) {// 定义一个统计变量,初始化值是0int count = 0;// 先在大串中查找一次小串第一次出现的位置int index = maxString.indexOf(minString);// 索引不是-1,说明存在,统计变量++while (index != -1) {count++;// 把刚才的索引+小串的长度作为开始位置截取上一次的大串,返回一个新的字符串,并把该字符串的值重新赋值给大串int startIndex = index + minString.length();maxString = maxString.substring(startIndex);// 继续查index = maxString.indexOf(minString);}return count;}}
/* * 统计大串中小串出现的次数 * 举例: * 在字符串"woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun" * 结果: * java出现了5次 *  * 分析: * 前提:是已经知道了大串和小串。 *  * A:定义一个统计变量,初始化值是0 * B:先在大串中查找一次小串第一次出现的位置 * a:索引是-1,说明不存在了,就返回统计变量 * b:索引不是-1,说明存在,统计变量++ * C:把刚才的索引+小串的长度作为开始位置截取上一次的大串,返回一个新的字符串,并把该字符串的值重新赋值给大串 * D:回到B */public class StringTest5 {public static void main(String[] args) {// 定义大串String maxString = "woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun";// 定义小串String minString = "java";// 写功能实现int count = getCount(maxString, minString);System.out.println("Java在大串中出现了:" + count + "次");}/* * 两个明确: 返回值类型:int 参数列表:两个字符串 */public static int getCount(String maxString, String minString) {// 定义一个统计变量,初始化值是0int count = 0;/*// 先在大串中查找一次小串第一次出现的位置int index = maxString.indexOf(minString);// 索引不是-1,说明存在,统计变量++while (index != -1) {count++;// 把刚才的索引+小串的长度作为开始位置截取上一次的大串,返回一个新的字符串,并把该字符串的值重新赋值给大串// int startIndex = index + minString.length();// maxString = maxString.substring(startIndex);maxString = maxString.substring(index + minString.length());// 继续查index = maxString.indexOf(minString);}*/int index;//先查,赋值,判断while((index=maxString.indexOf(minString))!=-1){count++;maxString = maxString.substring(index + minString.length());}return count;}}


0 0