Java 菜鳥教程

Java 流程控制

Java 數(shù)組

Java 面向?qū)ο?I)

Java 面向?qū)ο?II)

Java 面向?qū)ο?III)

Java 異常處理

Java 列表(List)

Java Queue(隊列)

Java Map集合

Java Set集合

Java 輸入輸出(I/O)

Java Reader/Writer

Java 其他主題

Java 程序檢查兩個字符串是否為字母易位詞(相同字母順序不同)

Java 實例大全

在此示例中,我們將檢查Java中兩個字符串是否為字母易位詞(anagram),一種把某個詞或句子的字母的位置(順序)加以改換所形成的新詞。

如果我們可以通過排列另一個字符串的字符來形成一個字符串,則可以說兩個字符串是字謎。例如,Race Care。在這里,我們可以通過重新安排Care字母順序來組成單詞 Race。

示例1:檢查兩個字符串是否為字母易位詞的Java程序

import java.util.Arrays;

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

    //檢查長度是否相同
    if(str1.length() == str2.length()) {

      //將字符串轉(zhuǎn)換為字符數(shù)組
      char[] charArray1 = str1.toCharArray();
      char[] charArray2 = str2.toCharArray();

      //對字符數(shù)組進行排序
      Arrays.sort(charArray1);
      Arrays.sort(charArray2);

      //如果排序的字符數(shù)組相同
      //那么字符串是 anagram
      boolean result = Arrays.equals(charArray1, charArray2);

      if(result) {
        System.out.println(str1 + " 和 " + str2 + " 是字母易位詞.");
      }
      else {
        System.out.println(str1 + " 和 " + str2 + " 不是字母易位詞.");
      }
    }
  }
}

輸出結(jié)果

Java 和 Vaaj 是字母易位詞

在Java中,我們有兩個名為str1和str2的字符串。在這里,我們檢查str1和str2是否是字母數(shù)相同,但是順序不同。

這里,

  • str1.toCharArray() - 將字符串轉(zhuǎn)換為char數(shù)組

  • Arrays.sort() - 對兩個字符數(shù)組進行排序

  • Arrays.equal() - 檢查排序的char數(shù)組是否相等

如果排序的數(shù)組相等,則字符串為 anagram(字母易位詞)。

示例2:從用戶處獲取字符串輸入,并檢查字符串是否為字母易位詞

import java.util.Arrays;
import java.util.Scanner;

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

    //創(chuàng)建Scanner類的對象
    Scanner input = new Scanner(System.in);

    //接受用戶的輸入
    System.out.print("輸入第一個字符串: ");
    String str1 = input.nextLine();
    System.out.print("輸入第二個字符串: ");
    String str2 = input.nextLine();

    //檢查長度是否相同
    if(str1.length() == str2.length()) {

      //將字符串轉(zhuǎn)換為char數(shù)組
      char[] charArray1 = str1.toCharArray();
      char[] charArray2 = str2.toCharArray();

      //排序char數(shù)組
      Arrays.sort(charArray1);
      Arrays.sort(charArray2);

      //如果排序的char數(shù)組相同
      //那么字符串就是字母易位詞
      boolean result = Arrays.equals(charArray1, charArray2);

      if(result) {
        System.out.println(str1 + " 和 " + str2 + " 是字母易位詞.");
      }
      else {
        System.out.println(str1 + " 和 " + str2 + " 不是字母易位詞.");
      }
    }

    input.close();
  }
}

輸出結(jié)果

輸入第一個字符串: Race
輸入第二個字符串: Care
Race 和 Care 是字母易位詞

在上面的示例中,我們使用Scanner類從用戶那里獲取輸入。在這里,我們檢查了用戶提供的字符串是否為字母易位詞。

Java 實例大全

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清