2012-04-18 3 views
0

Я пишу программу, которая в алфавитном порядке сортирует имена, введенные пользователем через stdin. Имена подбираются правильно, однако сортировка не работает. Может кто-то, пожалуйста, помогите мне разобраться, почему.Алфавитный сортировщик не работает

Это мой код ...

public class Sort { 
    public static void main(String[] args) { 
     while (!StdIn.isEmpty()){ 
      String names = StdIn.readString(); 
      String [] name = new String[1]; 

      for (int i = 0; i < 1; i++) { 
       name[i] = names; 
      } 

      Arrays.sort(name); 

      for (int i = 0; i < 1; i ++){ 
       System.out.println(name[1]); 
      } 
     } 
    } 
} 
+4

попробуйте напечатать 'name [i]', а не 'name [1]' –

+4

Вы создаете массив из 1. Сортировка списка 1. И распечатайте его немедленно. Затем повторим весь процесс снова. Я не вижу, как это будет работать –

+3

(т. Е. Нечего сортировать, КОГДА-ЛИБО, если в вашем массиве всего 1 элемент –

ответ

1

Помимо очевидных проблем с кодом, упомянутым в комментариях, я бы не использовать массивы. Вместо этого используйте реализацию java.util.Collection, такую ​​как java.util.TreeSet<String>, которая автоматически сортируется.

Смежные вопросы