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+ 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告