例如,我有字符串
Cash$$$$$$Ca$$$$$$sh
[左侧:Cash$$$$$$
,右侧:Ca$$$$$$sh
我想实现一个方法,如果左侧包含相等字符的序列,该序列等于右侧序列,则该方法返回true。它们的值必须与长度相同。此示例返回true。
最好写一个方法。
System.out.println(checkString("Cash$$$$$$Ca$$$$$$sh")); //false
System.out.println(checkString("Cash$$$$$$Cash$$$$$$")); //true
System.out.println(checkString("abcdabc")); // false
System.out.println(checkString("abcabc")); // true;
public static boolean checkString(String str) {
// odd length of strings can't have equals halves.
if (str.length() % 2 == 1) {
return false;
}
int mid = str.length()/2;
for (char c : str.substring(0,mid).toCharArray()) {
if (c != str.charAt(mid++)) {
return false;
}
}
return true;
}
您可以执行以下操作:
class Main {
public static void main(String[] args) {
String str="Cash$$$$$$Ca$$$$$$sh";
String substr1=str.substring(0,str.length()/2);
String substr2=str.substring(str.length()/2);
System.out.println(substr1);
System.out.println(substr2);
System.out.println(substr1.equals(substr2));
}
}
输出:
Cash$$$$$$
Ca$$$$$$sh
false