Java I';I’我想用比较器检查一个单词是否是初学者

Java I';I’我想用比较器检查一个单词是否是初学者,java,string,loops,compareto,Java,String,Loops,Compareto,我想保持我的程序几乎不变。 我使用了很多字符串方法,比如charAt、substring和indexOf。 如果一个单词中的字母按字母顺序排列,则称之为“初学者” import java.util.*; public class Abecedarian{ public static void main( String[] args ){ String word=getWord(); } public static String getWord(){

我想保持我的程序几乎不变。 我使用了很多字符串方法,比如
charAt
substring
indexOf
。 如果一个单词中的字母按字母顺序排列,则称之为“初学者”

import java.util.*;

public class Abecedarian{
    public static void main( String[] args ){
        String word=getWord();

    }

    public static String getWord(){
        Scanner keyboard = new Scanner(System.in);
        String word;
        System.out.print("Enter a word: ");
        word=keyboard.nextLine();
        return word;
    }

    public static boolean isAbecedarian(String word){
尝试使用:

if (word.compareTo("abecedarian") == 0) {
   //yes it is equal
}
使用类似字符串的
equals
方法检查相等性有更好的方法:

if ("abecedarian".equals(word)) {
    ...
}

您可以迭代单词中的字符,并确保它们按字母升序排列:

public static boolean isAbecedarian (String word) {
    int length = word.size();
    if (length <= 1) {
        return true;
    }

    word = word.toLowerCase(); // just in case

    char prev; 
    char curr;

    for (int i = 1; i < length; ++i) {
        prev = word.charAt(i - 1);
        curr = word.charAt(0);
        if (prev > curr) {
            return false;
        }
    }

    return true;
}
公共静态布尔值isAbecedarian(字符串字){
int length=word.size();
如果(当前长度){
返回false;
}
}
返回true;
}

wow,我实际上是在用谷歌搜索Abeesidian的定义,因为我认为提问者是在寻找单词的某些属性,而不是字面上的字符串“Abeesidian”。现在引用OP是有道理的“如果单词中的字母按字母顺序出现,那么这个单词就被称为“Abeedian”。是的,对不起,我本来想解释什么是Abeedian,但我忘了