отображать элемент в порядке возрастания или убывания, используя пузырьковую сортировку в Java - PullRequest
0 голосов
/ 18 декабря 2011

У меня проблема с отображением букв, если они находятся в порядке возрастания или нет, логика кажется верной, предполагая массив в порядке возрастания, но всегда получаю неправильный результат, когда я их печатаю, я пробовал другие наоборот, но всегда получал неправильный результат.

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 Ответ

1 голос
/ 18 декабря 2011

Приведенный выше код работает нормально, возможно, проблема в значении, возвращаемом BIO.getString(). Также в названии вы упомянули алгоритм пузырьковой сортировки, где код для этого? возможно, проблема в этом.

EDIT:

Теперь, когда вы упомянули, что проблема связана с прописными / строчными словами, я могу предложить вам просто преобразовать входной текст в строчные перед сравнением, например:

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

Таким образом, не имеет значения, будет ли текст в верхнем или нижнем регистре.

...