PRELOADER

不念过去 不负现在 不畏将来

当前文章 : 《字母顺序检测》

12/4/2018 —— 

题目: 如果一个单词中的字母都是以字母表的顺序出现,那么这个单词称为“abecedarian”.比如下面这些字母

abdest acknow acorsy adempt adiplsy

编写一个名为isAbecedrian的方法,实现对单词的检测。

java代码:

package isAbecedarian;

import recurse.recurse;

public class isAbecedarian {

    public static void main(String[] args) {
        String s1 = "abcdefg";
        String s2 = "edfeasac";

        System.out.println(isAbecedarian(s1));
        System.out.println(isAbecedarian(s2));

    }

    public static boolean isAbecedarian(String s) {
        int n = s.length();
        int flag = 1;
        for (int i=0; i<n-1;i++) {
            if (s.charAt(i)>=s.charAt(i+1)) {
                flag = 0;
                break;
            }
        }
        if (flag==1) {
            return true;
        }else {
            return false;
        }
    }

}

  • 1、这算是一种排序的方法,即单词从小到大排列,因此检测的方法很简单,只需保证每一个字母都排在其后一个字母的前面。
  • 2、因此,可设置一个标志位,但检测到前一个字母的字母顺序不在后一个字母的前面时,标志位变化。最后对标志位进行检测,以输出结果。
  • 3、需要说明的是,程序是根据一个字母的ASCLL码值来比较的,因此a(97)<z(122).程序里的代码不考虑前一个字母和后一个字母相等的情况。