美文网首页Java
Java17-2 String类型范例

Java17-2 String类型范例

作者: 第二套广播体操 | 来源:发表于2018-12-04 15:07 被阅读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();
        }
    
    }
    

    相关文章

      网友评论

        本文标题:Java17-2 String类型范例

        本文链接:https://www.haomeiwen.com/subject/rhnmcqtx.html