Java

Java17-2 String类型范例

2018-12-04  本文已影响0人  第二套广播体操
public class ReplaceDemo {
    public static void main(String[] args) {
        String s1 = "hello";
        String s2 = "java";
        System.out.println(s2.replace("a", "o"));
        test(s1,s2);

       System.out.println(s1 + "\t" + s2);
    }


    private static void test(String s3, String s2) {
        s2.replace("a", "o");
        s3 = s2;
        System.out.println(s3 + "\t" + s2);
    }
}
结果

如果需要替换字母 自己写方法时会传入两个Char参数 是否有返回类型 返回为String类型
知道以上部分去Api查找
String类型 所以方法在哪 只有String最清楚


结果
/*
需求:子串在字符串中出现的次数  "asdhjasdbnmasdvbnasdjklasdu"
思路:1.进行计数 找到一个asd进行一次计数
     2.方法在字符串中查找字符串 所以找字符串类Api中的方法 返回int类型 传入参数为一个字符
     查找APi发现为indexOf方法返回所在位置 没有则返回-1
     indexof方法需要更改查找位置
     3.每找到一次需要进行一次计数 所以要用到循环
步骤:定义变量 计数
     循环 找到了就继续循环 没找到就停止
     计数变量自增

*/
public class IndexOfDemo {
    public static void main(String[] args) {
        String s1 = "asdhjasdbnmasdvbnasdjklasdu";
        String s2 = "asd";
        int count = getCount(s1, s2);
        String s3 = getString(s1, s2);
        System.out.println(s3);
        System.out.println(count);

    }
   /*  返回截去asd后的结果 */
    private static String getString(String s1, String s2) {

        int indexl = 0;//前角标
        int indexf = 0;//后角标
        String s3 = "";
        while ((indexf = s1.indexOf(s2, indexf)) != -1) {
            s3 = s3.concat(s1.substring(indexl, indexf));//方法自己有返回值String
            indexl = indexf + s2.length();
            indexf = indexf + s2.length();
        }
        return s3;
    }

    private static int getCount(String s1, String s2) {
        int count = 0;
        int sigh = 0;
        while ((sigh = s1.indexOf(s2, sigh)) != -1) {
            sigh = sigh + s2.length();
            count++;
        }

        return count;
    }

}

/*判断两个字符串中 最大的共同子串 dfgcctvasdasdf zxczxcscctv
从短的判断
0--length
0--length-1 1--length
0--length-2 1--length-1 2-length
* */
public class ContainsDemo {
    public static void main(String[] args) {
        String s1="dfgcctvasdasdf";
        String s2="zxczxcscctv";
        String maxSub=getMax(s1,s2);
        System.out.println(maxSub);
    }

    public static String getMax(String s1, String s2) {
        String longStr,shortStr;
        longStr=s1.length()>s2.length()?s1:s2;
        shortStr=longStr.equals(s1)?s2:s1;
//        System.out.println(longSub+"\n"+shortSub);
        for (int x = 0; x <shortStr.length(); x++) {

            for (int y = 0,z=shortStr.length()-x; z<=shortStr.length(); y++,z++) {
//                System.out.println(shortStr.substring(y,z));
                String substring = shortStr.substring(y, z);
                if (s1.contains(substring))
                    return substring;
            }
        }
        return null;
    }
}

import java.util.Arrays;

/*对字符串中的字符进行自然排序*/
public class SortDemo {
    public static void main(String[] args) {
//        定义一个数组
      String str="zwdxcsadf";
//        排序数组
     String string= SortArray(str);
        System.out.println(string);
    }

    private static String SortArray(String str) {
//        放进数组中
        char[] chars=stringToArray(str);
//       排序
        sort(chars);
//        将数组转换成字符串
        return toString(chars);

    }

    private static String toString(char[] chars) {
        return new String(chars);
    }

    private static void sort(char[] chars) {
        Arrays.sort(chars);
    }


    /*将名字难理解的方法放到自定义方法中
*/
    private static char[] stringToArray(String str) {
        return str.toCharArray();
    }

}
上一篇下一篇

猜你喜欢

热点阅读