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();
}
}