2011-12-07 95 views
2

以下是我的代码。基本上,无论角色是按升序还是按降序排列都可以。如果输入一个小写字母,它会很好地工作,但是如果输入了aB,它就会说这些字母不是inde,当它们显然是!不是很确定,我开始对此失望!使用大小写字符混合来转换字符串java

text.toLowerCase(); 

    while (! text.equals("END")) 

    {  

     String string = (text); 
     char[] content = string.toCharArray(); 
     java.util.Arrays.sort(content); 
     String sorted = new String(content);   


      if (text.equals(sorted)) 
      { 
       System.out.print(text); 
       System.out.print("  letters in ascending order"); 
       System.out.println(); 

      } 

      else   
      { 
       System.out.print((text)); 
       System.out.print(" letters not in ascending order"); 
       System.out.println(); 
      } 

      System.out.println(); 
      System.out.print("#Enter input text : "); 
      text = BIO.getString(); 
     } 
    } 
} 

回答

3

您需要保存值回text(并检查是否有小写"end",因为它被转换)。

text = text.toLowerCase(); 
while (!text.equals("end")) { // ... 

toLowerCase不会修改原始字符串,而是返回一个较小的版本。

另外,如果您想保留"END"结束:

lowered = text.toLowerCase(); 
while (!text.equals("END")) { 
    // ... etc ... 
    text = BIO.getString(); 
    lowered = text.toLowerCase(); 
} 
0

为什么不使用text.compareToIgnoreCase(sorted) == 0

相关问题