我想保持我的程序几乎一样。
我使用了很多String方法,如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){
答案 0 :(得分:2)
您可以迭代单词中的字符,并确保它们按升序字母顺序排列:
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;
}
答案 1 :(得分:0)
尝试使用:
if (word.compareTo("abecedarian") == 0) {
//yes it is equal
}
使用String的equals
方法检查相等性的更好方法如下:
if ("abecedarian".equals(word)) {
...
}