如果输入的字符串按字母顺序排列,则使用布尔方法返回true

时间:2016-08-12 18:19:55

标签: java

我正在编写一个程序,它接受一个字符串并返回一个布尔值,表示该字是否按字母顺序排列,例如最坚持,承认,擅长等。

我的问题是该程序没有输出但只是终止...请我真的很感激一些更正。 这是我的代码:

public class test{ 
    public static boolean Abecedarian(String s) {
        String alp="";
        for(char c ='A'; c<='Z'; c++){ 
            alp +=c; 
        }           
        if(s.equals(alp)){ 
            return true; 
        }else 
            return false; 
        } 
    public static void main(String[] args) { 
        Abecedarian("victor"); 
    } 
}

1 个答案:

答案 0 :(得分:1)

试试这个:

public static void main(String[] args) {
    String [] words = {"abdest", "acknow", "adempt" };
    for (String word : words) {
        System.out.println(" isAbecedarian '"+word+"': "+isAbecedarian(word));
    }
}

public static boolean isAbecedarian(String s) {
    if (s == null ) throw new IllegalArgumentException("Error");
    if (s.length() < 2) return true;
    char last = s.charAt(0);
    char current;
    for (int i = 1; i < s.length(); i++) {
        current = s.charAt(i);
        if (current < last) {
            return false;
        }
        last = current;
    }
    return true;
}

输出:

isAbecedarian 'abdest': true
isAbecedarian 'acknow': true
isAbecedarian 'adempt': true