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,但我忘了