当前位置:   article > 正文

Java基础---常用API(应用程序编程接口)一习题_java api练习

java api练习

1.模拟trim()方法,去除字符串中前后两端的空格

  1. package com.day7;
  2. public class Trim {
  3. public static void main(String[] args) {
  4. //1.模拟trim()方法,去除字符串中前后两端的空格
  5. String stringArrays = " 古来 圣贤 皆寂寞,惟有 饮者 留其名 ";
  6. String num = Trim.trimString(stringArrays);
  7. System.out.println(num);
  8. }
  9. public static String trimString(String stringArrays) {
  10. //先判断字符串是否为空
  11. if (stringArrays == null) {
  12. return null;
  13. }
  14. //定义一个开始索引
  15. int start = 0;
  16. //定义一个结束索引
  17. int end = stringArrays.length() - 1;
  18. //从第一个位置开始判断是否为空
  19. while (start <= end && stringArrays.charAt(start) == ' ') {
  20. start++;
  21. }
  22. //从最后一个位置判断是否为空
  23. while (end >= start && stringArrays.charAt(end) == ' ') {
  24. end--;
  25. }
  26. //调用substring方法,从start截取到end的字符,包前不包后
  27. return stringArrays.substring(start, end + 1);
  28. }
  29. }

2.去除字符串中所有的空格

  1. package com.day7;
  2. public class DeleteTrim {
  3. public static void main(String[] args) {
  4. //2.去除字符串中所有的空格
  5. String stringArrays = " 古来 圣贤 皆寂寞,惟有 饮者 留其名 ";
  6. System.out.println("方法一:");
  7. DeleteTrim.deleteTrim1(stringArrays);
  8. System.out.println();
  9. System.out.println("方法二:");
  10. DeleteTrim.deleteTrim2(stringArrays);
  11. }
  12. //方法1
  13. public static void deleteTrim1(String stringArr) {
  14. char[] charArr = new char[stringArr.length()];
  15. for (int i = 0; i < stringArr.length(); i++) {
  16. if (stringArr.charAt(i) != ' ') {
  17. charArr[i] = stringArr.charAt(i);
  18. System.out.print( charArr[i]);
  19. }
  20. }
  21. }
  22. //方法2
  23. public static void deleteTrim2(String stringArr){
  24. StringBuffer stringBuffers = new StringBuffer();
  25. //把字符串转为char类型的数组
  26. char[] chars = stringArr.toCharArray();
  27. for (char c: chars) {
  28. if (!Character.isWhitespace(c)){
  29. stringBuffers.append(c);
  30. }
  31. }
  32. String newStringArr = stringBuffers.toString();
  33. System.out.println(newStringArr);
  34. }
  35. }

3.字符串反转,abcd ----> dcba   

  1. package com.day7;
  2. import org.omg.CORBA.ARG_OUT;
  3. public class Reversal {
  4. public static void main(String[] args) {
  5. //3.字符串反转,abcd ----> dcba 不准使用StringBuffer
  6. String num = "abcd";
  7. num.isEmpty();
  8. String strReversal = Reversal.stringReversal1(num);
  9. System.out.print("方法一:");
  10. System.out.println(strReversal);
  11. System.out.println("--------------------");
  12. System.out.print("方法二:");
  13. Reversal.stringReversal2(num);
  14. System.out.println("--------------------");
  15. System.out.print("方法三:");
  16. Reversal.stringReversal3(num);
  17. }
  18. //方法一:
  19. public static String stringReversal1(String strReversal) {
  20. String strSum = " ";
  21. for (int i = strReversal.length() - 1; i >= 0; i--) {
  22. strSum += strReversal.charAt(i);
  23. }
  24. return strSum;
  25. }
  26. //方法二
  27. public static void stringReversal2(String strReversal) {
  28. char[] chars = strReversal.toCharArray();
  29. StringBuffer stringBuffer = new StringBuffer();
  30. for (int i = chars.length - 1; i >= 0; i--) {
  31. stringBuffer.append(chars[i]);
  32. }
  33. System.out.println(stringBuffer.toString());
  34. }
  35. //方法三
  36. public static void stringReversal3(String strReversal) {
  37. char[] chars = strReversal.toCharArray();
  38. int start = 0;
  39. int end = chars.length - 1;
  40. while (start < end) {
  41. char tmp = chars[start];
  42. chars[start] = chars[end];
  43. chars[end] = tmp;
  44. start++;
  45. end--;
  46. }
  47. System.out.println(new String(chars));
  48. }
  49. }

4.获取一个字符串在另外一个字符串中出现的次数

  1. package com.day7;
  2. public class StringNum {
  3. public static void main(String[] args) {
  4. //4.获取一个字符串在另外一个字符串中出现的次数
  5. String num1 = "abcd";
  6. String num2 = "abcdabccdabcd";
  7. StringNum.getString(num1, num2);
  8. }
  9. public static void getString(String str1, String str2) {
  10. //先判断哪个字符串的长度更长
  11. String maxString = str1.length() > str2.length() ? str1 : str2;
  12. String minString = (maxString == str1) ? str2 : str1;
  13. int count = 0;
  14. int index = maxString.indexOf(minString);
  15. while (index != -1) {
  16. count++;
  17. index = maxString.indexOf(minString, index + 1);
  18. }
  19. System.out.println("次数为" + count);
  20. }
  21. }

5.获取两个字符串中最大的相同子串

  1. package com.day7;
  2. public class MaxString {
  3. public static void main(String[] args) {
  4. //5.获取两个字符串中最大的相同子串
  5. String num1 = "abcd";
  6. String num2 = "abcdabccdabcd";
  7. MaxString.maxString(num1,num2);
  8. }
  9. public static void maxString(String str1, String str2) {
  10. //先判断哪个字符串的长度更长
  11. String maxString = str1.length() > str2.length() ? str1 : str2;
  12. String minString = (maxString == str1) ? str2 : str1;
  13. for (int i = 0; i < minString.length(); i++) {
  14. for (int j = 0, k = minString.length() - i; k != minString.length() + 1; j++, k--) {
  15. String temp = minString.substring(j, k);
  16. if (maxString.contains(temp)) {
  17. System.out.println(temp);
  18. return;
  19. }
  20. }
  21. }
  22. System.out.println("没有相同的子字符串");
  23. }
  24. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/773046
推荐阅读
相关标签
  

闽ICP备14008679号