在java中以升序显示字母

时间:2011-12-14 14:16:36

标签: java

我想显示字母以太它们按升序排列或不按升序排列,我有比较数组索引的问题。在这种情况下,我使用冒泡排序技术并修改它们。

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;

        }

    }
}

2 个答案:

答案 0 :(得分:5)

因为这看起来像是家庭作业,所以我会将答案局限于几个提示。

你的逻辑是错误的。您应该按升序假设数组 ,直到您看到相反的证据。

此外,循环内的print可以被多次调用。你可能不希望这样。

除此之外,你几乎就在那里。

答案 1 :(得分:0)

在您完成比较字符串中的所有字母之前,您目前正在决定它们是否正常。尝试假设它们是有序的,并在找到一个不按顺序的标志后将标志更改为false。

另外,你的break语句会在第一次迭代后退出你的while循环。