Java - 工具类4(String常用方法练习) July 13,2019

1.设计一个方法 将字符串反转   ok-->ko
2.设计一个方法 将给定字符串的正序和反序进行连接  ok-->okko
3.设计一个方法 判断给定字符串是否是回文    abccba   abcba
4.设计一个方法 将给定的字符串右位移x位置  (helloworld,2) --> ldhellowor
5.设计一个方法 寻找若干字符串中最长的那个  ab,abc,abcd--->abcd
6.设计一个方法 统计给定字母在字符串中出现的次数   "this is a test of java","a"--->3
7.设计一个方法 将给定的字符串每一个首字母大写   "this is a test of java"--->"This Is A Test Of Java"
8.设计一个方法 获取给定字符串中的全部数字   "za1o1zbp24tcq"--->1124

 

1.设计一个方法 将字符串反转

public class TestString {
        //字符串反转
     public String  reversal(String str){
         char [] value = str.toCharArray();
         for(int i=0;i<value.length/2;i++) {
             char temp = value[i];
             value[i] = value[value.length - 1-i];
             value[value.length - i-1] = temp;
         }
         return new String(value);
     }
}

public class TestMain {
    public static void main(String [] args){

            TestString testString = new TestString();
            String string =  testString.reversal("abc");
             System.out.println(string);
    }
}
输出结果:
cba

2.设计一个方法 将给定字符串的正序和反序进行连接  ok-->okko

public class TestString {
        //2.将给定字符串的正序和反序进行连接
        public  String reverseAndConcat(String string){
            return string.concat(this.reversal(string));
        }

        //1.字符串反转
     public String  reversal(String str){
         char [] value = str.toCharArray();
         for(int i=0;i<value.length/2;i++) {
             char temp = value[i];
             value[i] = value[value.length - 1-i];
             value[value.length - i-1] = temp;
         }
         return new String(value);
     }
}

public class TestMain {
    public static void main(String [] args){
            TestString testString = new TestString();
            String string = testString.reverseAndConcat("abc");
            System.out.println(string);

    }
}

 

3.设计一个方法 判断给定字符串是否是回文    abccba   abcba

public class TestString {
        //3.判断是否是回文
        public boolean isPalindrome(String string){
            if(string.equals(this.reversal(string))){
                return true;
            }
            return false;
        }

     public String  reversal(String str){
         char [] value = str.toCharArray();
         for(int i=0;i<value.length/2;i++) {
             char temp = value[i];
             value[i] = value[value.length - 1-i];
             value[value.length - i-1] = temp;
         }
         return new String(value);
     }
}
public class TestMain {
    public static void main(String [] args){

            TestString testString = new TestString();
            boolean a = testString.isPalindrome("abcba");
            System.out.println(a);
    }
}

 

4.设计一个方法 将给定的字符串右位移x位置  (helloworld,2) --> ldhellowor

public class TestString {
        //4.将给定的字符串右位移x位置
        public String moveToRight(String string,int count){
            if(count>string.length()){
                count %= string.length();
            }
            //前半
            String start = string.substring(0,count);
            //后半部分
            String end = string.substring(count);
            return end.concat(start);
        } 
}
public class TestMain {
    public static void main(String [] args){

                TestString testString = new TestString();
                //3.
                String string = testString.moveToRight("abcd",1);
                 System.out.println(string);
    }
}

 

5.设计一个方法 寻找若干字符串中最长的那个  ab,abc,abcd--->abcd

public class TestString {
        //5.返回若干个字符串中最长的
        public String findMaxLengthString(String ...strings){
            String str =strings[0];
            int max = strings[0].length();
            for(int count =1; count<strings.length; count++){
                if(strings[count].length() > max){
                    max = strings[count].length();
                    str = strings[count];
                }
            }
            return str;
        }
}
public class TestMain {
    public static void main(String [] args){

                TestString testString = new TestString();
                //5.
                    String string = testString.findMaxLengthString("abc","abcd","abcde");
                    System.out.println(string);
    }
}

 

6.设计一个方法 统计给定字母在字符串中出现的次数   "this is a test of java","a"--->3

public class TestString {
     //6.统计给定字母在字符串中出现的次数
        /*//方法二
        * return str.length()-str.replace(String.valueOf(str),"").length();    
        * */
        //方法一:
        public int letterExistCount(String string,char str){
            char [] a = string.toCharArray();
            int count = 0;
            for(int i=0; i<a.length; i++){
                if(a[i] == str){
                    count++;
                }
            }
            return count;
        }
}
public class TestMain {
    public static void main(String [] args){

                TestString testString = new TestString();
                //6.
                int count = testString.letterExistCount("abca",'a');
                System.out.println(count);
    }
}    

7.设计一个方法 将给定的字符串每一个首字母大写   "this is a test of java"--->"This Is A Test Of Java"

public class TestString {
            //7.将给定的字符串每一个首字母大写
            public String firstLetterToUpperCase(String string){
                //作为结果拼接
                String result = "";
                //分开
                String[] strings = string.split(" ");
                for(int i=0; i<strings.length; i++){
                    String string1 = strings[i];
                    String string2 = string1.substring(0,1).toUpperCase();
                    String string3 = string1.substring(1);
                    result = result.concat(string2.concat(string3)+" ");
                }
                return result.trim();//去空格
            }
}
public class TestMain {
    public static void main(String [] args){

                TestString testString = new TestString();
                //7.
                String string = testString.firstLetterToUpperCase("hello world");
                System.out.println(string);
    }
}

8.设计一个方法 获取给定字符串中的全部数字   "za1o1zbp24tcq"--->1124

 

public class TestString {
            //8.获取给定字符串中的全部数字
            public int findNumber(String string){
                String result = "";
                for(int i=0; i<string.length(); i++) {
                    int code = string.codePointAt(i);
                    if(code>=48 && code<=57){
                        result += (char)code;
                    }
                }
                return Integer.parseInt(result);
    }
/*  方法二
public int findNumber(String string){
String result = "";
char [] b = string.toCharArray();
for(int i=0; i<b.length; i++) {
if((int)b[i] >= 48 && (int)b[i]<=57){
result+=b[i];
}
}
return Integer.parseInt(result);
}*/

}
public class TestMain {
    public static void main(String [] args){

                TestString testString = new TestString();
                //8.
                int result = testString.findNumber("ac123");
                System.out.println(result);
    }
}

 

posted @ 2019-07-13 14:16  亿贫如洗杨道长  阅读(79)  评论(0编辑  收藏  举报