📌  相关文章
📜  Java程序检查两个字符串是否为字谜

📅  最后修改于: 2020-09-26 17:57:21             🧑  作者: Mango

在此示例中,我们将检查Java中两个字符串是否为anagram。

如果我们可以通过排列另一个字符串的字符来形成一个字符串 ,那么说两个字符串就是七字组。例如, 种族关怀 。在这里,我们可以通过安排关怀字符来形成种族。

示例1:检查两个字符串是否为字谜的Java程序
import java.util.Arrays;

class Main {
  public static void main(String[] args) {
    String str1 = "Java";
    String str2 = "Vaaj";

    // check if length is same
    if(str1.length() == str2.length()) {

      // convert strings to char array
      char[] charArray1 = str1.toCharArray();
      char[] charArray2 = str2.toCharArray();

      // sort the char array
      Arrays.sort(charArray1);
      Arrays.sort(charArray2);

      // if sorted char arrays are same
      // then the string is anagram
      boolean result = Arrays.equals(charArray1, charArray2);

      if(result) {
        System.out.println(str1 + " and " + str2 + " are anagram.");
      }
      else {
        System.out.println(str1 + " and " + str2 + " are anagram.");
      }
    }
  }
}

输出

Java and Vaaj are anagram.

在Java中,我们有两个名为str1str2的 字符串 。在这里,我们正在检查str1str2是否为字谜。

这里,

  • str1.toCharArray() -将字符串转换为char数组
  • Arrays.sort() -对两个字符数组进行排序
  • Arrays.equal() -检查排序的char数组是否相等

如果排序的数组相等,则字符串为anagram。


示例2:从用户处获取字符串输入,并检查字符串是否为字谜
import java.util.Arrays;
import java.util.Scanner;

class Main {
  public static void main(String[] args) {

    // create an object of Scanner class
    Scanner input = new Scanner(System.in);

    // take input from users
    System.out.print("Enter first String: ");
    String str1 = input.nextLine();
    System.out.print("Enter second String: ");
    String str2 = input.nextLine();

    // check if length is same
    if(str1.length() == str2.length()) {

      // convert strings to char array
      char[] charArray1 = str1.toCharArray();
      char[] charArray2 = str2.toCharArray();

      // sort the char array
      Arrays.sort(charArray1);
      Arrays.sort(charArray2);

      // if sorted char arrays are same
      // then the string is anagram
      boolean result = Arrays.equals(charArray1, charArray2);

      if(result) {
        System.out.println(str1 + " and " + str2 + " are anagram.");
      }
      else {
        System.out.println(str1 + " and " + str2 + " are anagram.");
      }
    }

    input.close();
  }
}

输出

Enter first String: Race
Enter second String: Care
Race and Care are anagram.

在上面的示例中,我们使用Scanner类从用户那里获取输入。在这里,我们检查了用户提供的字符串是否为字谜。