赞
踩
- package com.day7;
-
- public class Trim {
- public static void main(String[] args) {
- //1.模拟trim()方法,去除字符串中前后两端的空格
- String stringArrays = " 古来 圣贤 皆寂寞,惟有 饮者 留其名 ";
- String num = Trim.trimString(stringArrays);
- System.out.println(num);
- }
-
- public static String trimString(String stringArrays) {
- //先判断字符串是否为空
- if (stringArrays == null) {
- return null;
- }
- //定义一个开始索引
- int start = 0;
- //定义一个结束索引
- int end = stringArrays.length() - 1;
- //从第一个位置开始判断是否为空
- while (start <= end && stringArrays.charAt(start) == ' ') {
- start++;
- }
- //从最后一个位置判断是否为空
- while (end >= start && stringArrays.charAt(end) == ' ') {
- end--;
- }
- //调用substring方法,从start截取到end的字符,包前不包后
- return stringArrays.substring(start, end + 1);
- }
- }

- package com.day7;
-
- public class DeleteTrim {
- public static void main(String[] args) {
- //2.去除字符串中所有的空格
- String stringArrays = " 古来 圣贤 皆寂寞,惟有 饮者 留其名 ";
- System.out.println("方法一:");
- DeleteTrim.deleteTrim1(stringArrays);
- System.out.println();
- System.out.println("方法二:");
- DeleteTrim.deleteTrim2(stringArrays);
- }
-
- //方法1
- public static void deleteTrim1(String stringArr) {
- char[] charArr = new char[stringArr.length()];
- for (int i = 0; i < stringArr.length(); i++) {
- if (stringArr.charAt(i) != ' ') {
- charArr[i] = stringArr.charAt(i);
- System.out.print( charArr[i]);
- }
- }
- }
-
- //方法2
- public static void deleteTrim2(String stringArr){
- StringBuffer stringBuffers = new StringBuffer();
- //把字符串转为char类型的数组
- char[] chars = stringArr.toCharArray();
- for (char c: chars) {
- if (!Character.isWhitespace(c)){
- stringBuffers.append(c);
- }
- }
- String newStringArr = stringBuffers.toString();
- System.out.println(newStringArr);
- }
- }

- package com.day7;
-
- import org.omg.CORBA.ARG_OUT;
-
- public class Reversal {
- public static void main(String[] args) {
- //3.字符串反转,abcd ----> dcba 不准使用StringBuffer
- String num = "abcd";
- num.isEmpty();
- String strReversal = Reversal.stringReversal1(num);
- System.out.print("方法一:");
- System.out.println(strReversal);
- System.out.println("--------------------");
- System.out.print("方法二:");
- Reversal.stringReversal2(num);
- System.out.println("--------------------");
- System.out.print("方法三:");
- Reversal.stringReversal3(num);
- }
-
- //方法一:
- public static String stringReversal1(String strReversal) {
- String strSum = " ";
- for (int i = strReversal.length() - 1; i >= 0; i--) {
- strSum += strReversal.charAt(i);
- }
- return strSum;
- }
-
- //方法二
- public static void stringReversal2(String strReversal) {
- char[] chars = strReversal.toCharArray();
- StringBuffer stringBuffer = new StringBuffer();
- for (int i = chars.length - 1; i >= 0; i--) {
- stringBuffer.append(chars[i]);
- }
- System.out.println(stringBuffer.toString());
- }
-
- //方法三
- public static void stringReversal3(String strReversal) {
- char[] chars = strReversal.toCharArray();
- int start = 0;
- int end = chars.length - 1;
- while (start < end) {
- char tmp = chars[start];
- chars[start] = chars[end];
- chars[end] = tmp;
- start++;
- end--;
- }
- System.out.println(new String(chars));
- }
- }

- package com.day7;
-
- public class StringNum {
- public static void main(String[] args) {
- //4.获取一个字符串在另外一个字符串中出现的次数
- String num1 = "abcd";
- String num2 = "abcdabccdabcd";
- StringNum.getString(num1, num2);
- }
-
- public static void getString(String str1, String str2) {
- //先判断哪个字符串的长度更长
- String maxString = str1.length() > str2.length() ? str1 : str2;
- String minString = (maxString == str1) ? str2 : str1;
- int count = 0;
- int index = maxString.indexOf(minString);
- while (index != -1) {
- count++;
- index = maxString.indexOf(minString, index + 1);
- }
- System.out.println("次数为" + count);
- }
- }

- package com.day7;
-
- public class MaxString {
- public static void main(String[] args) {
- //5.获取两个字符串中最大的相同子串
- String num1 = "abcd";
- String num2 = "abcdabccdabcd";
- MaxString.maxString(num1,num2);
- }
-
- public static void maxString(String str1, String str2) {
- //先判断哪个字符串的长度更长
- String maxString = str1.length() > str2.length() ? str1 : str2;
- String minString = (maxString == str1) ? str2 : str1;
- for (int i = 0; i < minString.length(); i++) {
- for (int j = 0, k = minString.length() - i; k != minString.length() + 1; j++, k--) {
- String temp = minString.substring(j, k);
- if (maxString.contains(temp)) {
- System.out.println(temp);
- return;
- }
- }
- }
- System.out.println("没有相同的子字符串");
- }
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。