1. //1.将字符串反转 ok--->ko
    2. public String reverse(String str){
    3. //将str变为数组
    4. char[] c = str.toCharArray();
    5. for(int i = 0;i<c.length/2;i++){
    6. char temp = c[i];
    7. c[i] = c[c.length-i-1];
    8. c[c.length-i-1] = temp;
    9. }
    10. str = new String(c);
    11. return str;
    12. //若是用StringBuffer 或 StringBuilder只需要一行
    13. //return new String(new StringBuffer(str).reverse());
    14. }
    15. //2.字符串正序反序进行连接 ok--->okko
    16. public String reverseAndConcat(String str){
    17. String str1 = this.reverse(str);
    18. str = str.concat(str1);
    19. return str;
    20. //也可以一行搞定
    21. //return str.concat(this.reverse(str));
    22. }
    23. //3.判断字符串是否为回文
    24. public boolean isPalindrome(String str){
    25. String str1 = this.reverse(str);
    26. boolean flag = str.equals(str1);
    27. return flag;
    28. }
    29. //4.字符串右位移x位 helloworld ---> ldhellowor
    30. public String rightMove(String str,int x){
    31. x = x%str.length();
    32. String begin = str.substring(0,str.length()-x);//字符串右位移前的前半部分
    33. String end = str.substring(str.length()-x);//字符串右位移前的后半部分
    34. return end.concat(begin);
    35. }
    36. //5.找寻若干字符串中最长的那个
    37. public String findMaxLength(String... str){//动态参数列表
    38. String result = str[0];
    39. for(int i = 1;i<str.length;i++){
    40. if(str[i].length()>result.length()){
    41. result = str[i];
    42. }
    43. }
    44. return result;
    45. }
    46. //6.统计给定字母在字符串中出现的次数
    47. public int getCount(String str,char c){
    48. int count = 0;
    49. for(int i = 0;i<str.length();i++){
    50. if(str.charAt(i)==c){
    51. count++;
    52. }
    53. }
    54. return count;
    55. //也可以一步到位
    56. // //将需要寻找的字母替换成空 再用原来的字符串长度减去新的替换后的长度即可
    57. // return str.length()-str.replace(String.valueOf(c),"").length();
    58. }
    59. //7.将给定字符串中的每一个首字母大写 this is my friend--->This Is My Friend
    60. public String firstUpperCase(String str){
    61. String result = "";//存储输出后的字符串
    62. String[] value = str.split(" ");//按照空格来拆分字符串
    63. for(int i = 0;i< value.length;i++){
    64. String first = value[i].substring(0,1).toUpperCase(Locale.ROOT);//首字母大写
    65. String others = value[i].substring(1);
    66. result = result.concat(first.concat(others)+" ");
    67. }
    68. return result.trim();//去掉后面多余的空格
    69. }
    70. //8.找到字符串中全部的数字
    71. public String findAllNum(String str){
    72. //字符’0‘~’9‘对应的code码值为 48 - 57
    73. String result = "";
    74. boolean flag = false;
    75. for(int i = 0;i<str.length();i++){
    76. int code = str.codePointAt(i);//将字符转换成对应的code值
    77. if(code>=48 && code<=57){
    78. result += (char)code;//如果是数字 拼接
    79. flag = true;
    80. }
    81. }
    82. if(!flag){
    83. return null;//如果没有数字 返回null
    84. }
    85. return result;
    86. }