如何检查一个字符串是否包含相同符号的序列,这些符号等于同一字符串中的另一个符号序列? (JAVA)

问题描述 投票:-1回答:2

例如,我有字符串

Cash$$$$$$Ca$$$$$$sh

[左侧:Cash$$$$$$,右侧:Ca$$$$$$sh

我想实现一个方法,如果左侧包含相等字符的序列,该序列等于右侧序列,则该方法返回true。它们的值必须与长度相同。此示例返回true。

java string sequence string-comparison
2个回答
1
投票

最好写一个方法。

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

0
投票

您可以执行以下操作:

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
© www.soinside.com 2019 - 2024. All rights reserved.