我目前正在进行字符串升序程序。它将能够输出一条消息,指示字符串输入是否按升序排列。该代码在某种意义上起作用,它可以检测abc是升序还是bca不升。
我遇到的问题是让程序检测按升序排列的字符串,但使用小写和大写字母的混合。
例如abcdefgX
我认为将变量“word”设置为word = word.toString()但它没有区别 - 它可以检测全部为大写或全部小写的字符串。
这是我的代码。
class Main
{
public static void main (String args[])
{
System.out.print( "#Enter String" );
String word = BIO.getString();
Boolean inOrder = true;
while (word.equals("END")) {
if (word.equals("END")) {
System.exit(0);
}
}
while (inOrder) {
word = word.toString();
char previous = word.charAt(0);
for (int j = 0; j < word.length() && inOrder; j++) {
inOrder = word.charAt(j) >= previous;
previous = word.charAt(j);
}
if (inOrder) {
System.out.print(word + " letters in ascending order" + "\n");
}else if (!inOrder) {
System.out.print(word + " letters not in ascending order" + "\n");
}
System.out.print( "#Enter String" );
word = BIO.getString();
inOrder = true;
while (word.equals("END")) {
if (word.equals("END")) {
System.exit(0);
}
}
}
}
}
在迭代之前使用String.toLowerCase()
将String s
转换为小写。
编辑:
改变这个
while (inOrder) {
word = word.toString();
对此:
while (inOrder) {
word = word.toLowerCase();