使用java中的冒泡排序以升序或降序显示元素

时间:2011-12-18 15:29:18

标签: java bubble-sort

我有问题显示字母以太它们是否按升序排列,逻辑看起来是正确的,假设数组按升序排列,但是当我打印它们时总是得到错误的结果,我试过了另一个方式,但总是得到错误的结果。

public class Main
{
    public static void main(String[] args)
    {
        System.out.print( "#Enter text : " );
        String text = BIO.getString();

        boolean inorder = false;
        while ( ! text.equals( "END" ) )
          {
            inorder = true;
            // 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] ) {

               inorder = false;
               break;

              }

            }


            if ( inorder ) {

             System.out.printf( text + " is in ascending order\n" ); 


            }

            else {

             System.out.printf( text + " is not in ascending order\n" );

            }

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


       }
    }
}

1 个答案:

答案 0 :(得分:1)

上面的代码工作正常,可能问题出在BIO.getString()返回的值中。在标题中你还提到了一个冒泡排序算法,那里的代码是什么?问题可能就在那里。

修改

既然您已经提到问题是大写/小写的话,我可能会建议您在比较之前将输入文本转换为小写,如下所示:

char[] arr = text.toLowerCase().toCharArray();

通过这种方式,文本是大写还是小写都无关紧要。