我想显示字母以太它们按升序排列或不按升序排列,我有比较数组索引的问题。在这种情况下,我使用冒泡排序技术并修改它们。
public class Main
{
public static void main(String[] args)
{
System.out.print( "#Enter text : " );
String text = BIO.getString();
while ( ! text.equals( "END" ) )
{
boolean inorder = false;
// Convert the above string to a char array.
char[] arr = text.toCharArray();
for (int i=0; i<arr.length-1; i++)
{ //Check pair
if ( arr[i] > arr[i+1] )
{
System.out.print("letters in ascending order");
inorder = true;
}
}
if ( ! inorder )
{
System.out.print("letters not in ascending order");
}
break;
}
}
}
答案 0 :(得分:5)
因为这看起来像是家庭作业,所以我会将答案局限于几个提示。
你的逻辑是错误的。您应该按升序假设数组 ,直到您看到相反的证据。
此外,循环内的print
可以被多次调用。你可能不希望这样。
除此之外,你几乎就在那里。
答案 1 :(得分:0)
在您完成比较字符串中的所有字母之前,您目前正在决定它们是否正常。尝试假设它们是有序的,并在找到一个不按顺序的标志后将标志更改为false。
另外,你的break语句会在第一次迭代后退出你的while循环。