Java程式檢查字串中字元的順序


給定一個字串,你的任務是用Java編寫一個程式來檢查其字元的順序。如果順序是預先定義的,則必須檢查字元是否按給定順序排列;否則,檢查字元是否按字母順序排列。

示例場景

Input: str = "abcmnqxz";
Output: res = TRUE 

給定的字串按字母順序排列。

使用迭代

在這種方法中,使用for迴圈迭代字串,並使用if塊檢查當前位置和前一個位置的字元值是否相同。如果相同,則返回TRUE,表示字母按順序排列;否則返回FALSE,表示字母未按順序排列。

示例

下面是一個檢查字串中字元順序的Java程式:

public class Demo{
   static boolean alphabetical_order(String my_str){
      int str_len = my_str.length();
      for (int i = 1; i < str_len; i++){
         if (my_str.charAt(i) < my_str.charAt(i - 1)){
            return false;
         }
      }
      return true;
   }
   public static void main(String[] args){
      String my_str = "abcmnqxz";
      if (alphabetical_order(my_str)){
         System.out.println("The letters are in alphabetical order");
      } else{
         System.out.println("The letters are not in alphabetical order");
      }
   }
}

這段程式碼將產生以下結果:

The letters are in alphabetical order

使用indexOf()方法

String類indexOf()方法用於查詢字串中字元第一次出現的索引。我們使用此方法來檢查順序字串中的字元是否在指定字串中以相同的順序出現。

示例

讓我們看看實際實現:

public class Demo {
   public static boolean alphabetical_order(String my_str, String order) {
      int index = -1;
      for (char ch : order.toCharArray()) {
         index = my_str.indexOf(ch, index + 1);
         if (index == -1) return false;
      }
      return true;
   }

   public static void main(String[] args) {
      String my_str = "tutorialspoint";
      String order = "uoi";
      if (alphabetical_order(my_str, order)){
         System.out.println("The letters are in correct order");
      } else{
         System.out.println("The letters are not in correct order");
      }
   }
}

執行後,您將獲得以下結果:

The letters are in correct order

更新於:2024年9月30日

1K+ 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.