Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/103: Рейтинг темы: голосов - 103, средняя оценка - 4.90
3 / 2 / 3
Регистрация: 07.03.2018
Сообщений: 217
1

Сортировка слов текста в алфавитном порядке

28.04.2019, 16:39. Показов 18848. Ответов 6

Author24 — интернет-сервис помощи студентам
Привет,есть такой код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
public class main
{
    public static void main(String[] args) throws Exception
    {
        int n;
        Scanner in = new Scanner(System.in);
        System.out.print("Введите количество слов: ");
        while (!in.hasNextInt()) { 
        System.out.println("Количество слов должено быть целым числом. Повторите ввод!");
        in.next();
        }
        n = in.nextInt();
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String[] array = new String[n];
        System.out.println("Введите слова:");
        for (int i = 0; i < array.length; i++)
        {
            array[i] = reader.readLine();
        }
        sort(array);
        System.out.println("Отсортированные по алфавиту слова:");
        for (String x : array)
        {
            System.out.println(x);
        }
    }
    public static void sort(String[] array)
    {
        String st = null;
        //Сравниваем значения массива и сортируем их по функции isGreaterThen
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array.length; j++) {
                if (isGreaterThen(array[j], array[i]))
                {
                    st = array[i];
                    array[i] = array[j];
                    array[j] = st;
                }
            }
        }
    }
    public static boolean isGreaterThen(String a, String b)
    {
        return a.compareTo(b) > 0;
    }
}
Его проблема в том,что тут идет ввод непосредственно слов,а не сплошного текста.Я пробовал разбивать введенную строку на массив
Java
1
2
3
4
5
Scanner scan = new Scanner(System.in);
            String s = scan.nextLine();
            //System.out.println(s);
            String[] text = s;
            StringTokenizer st = new StringTokenizer(text, "\t\n\r,.");
но это не помогло..Подскажите как сделать ввод текста,и сортировку его слов по алфавиту.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.04.2019, 16:39
Ответы с готовыми решениями:

Сортировка слов в алфавитном порядке
Дан текст из несколько слов. Нужно вывести слова в алфавитном порядке по первой букве.

Сортировка слов в алфавитном порядке
как с помощью логической функции, сравнивающей два слова, напечатать три слова в алфавитном...

Сортировка слов в алфавитном порядке
Задан любой текст.Выпонить сортировку слов этого текста в алфавитном порядке.

Сортировка слов из предложения в алфавитном порядке
Дан файл содержащий текст на русском языке . Составить в алфавитном порядке список всех слов ,...

6
Am I evil? Yes, I am!
Эксперт PythonЭксперт Java
19240 / 10959 / 2919
Регистрация: 21.10.2017
Сообщений: 23,159
28.04.2019, 17:04 2
Лучший ответ Сообщение было отмечено Draka_za_edy как решение

Решение

Java
1
2
3
4
5
6
        String s = "я пробовал разбивать введенную строку на массив";
        String[] words = s.split("\\s+");
        Arrays.sort(words);
        for (String word : words) {
            System.out.println(word);
        }
1
1022 / 562 / 185
Регистрация: 18.08.2013
Сообщений: 2,026
Записей в блоге: 2
28.04.2019, 17:39 3
iSmokeJC, позвольте поинтересоваться, что означает "\\s+"?
0
Am I evil? Yes, I am!
Эксперт PythonЭксперт Java
19240 / 10959 / 2919
Регистрация: 21.10.2017
Сообщений: 23,159
28.04.2019, 17:45 4
Gungala, это регулярное выражение, означающее символы пробела, табуляции и перевода строки. Почитай, очень полезно
1
1022 / 562 / 185
Регистрация: 18.08.2013
Сообщений: 2,026
Записей в блоге: 2
28.04.2019, 17:47 5
Акей, из документации я понял, что это регулярное выражение, но там я нашёл только "\s", которое означает пробел, но зачем ставить два слэша?
UPD: написал до того, как обновил страницу. Спасибо
0
Am I evil? Yes, I am!
Эксперт PythonЭксперт Java
19240 / 10959 / 2919
Регистрация: 21.10.2017
Сообщений: 23,159
28.04.2019, 17:57 6

Не по теме:

Gungala, любишь свою подпись?



Добавлено через 6 минут
Gungala, понял, почему два слэша?
0
1022 / 562 / 185
Регистрация: 18.08.2013
Сообщений: 2,026
Записей в блоге: 2
28.04.2019, 18:02 7

Не по теме:

Цитата Сообщение от iSmokeJC Посмотреть сообщение
Gungala, любишь свою подпись?
Просто обожаю :D



Цитата Сообщение от iSmokeJC Посмотреть сообщение
Gungala, понял, почему два слэша?
Да, понял, спасибо
0
28.04.2019, 18:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.04.2019, 18:02
Помогаю со студенческими работами здесь

Сортировка слов в строке в алфавитном порядке
Вводится строка. Нужно в ней поменять слова, чтобы они стояли в алфавитном порядке, учитывая что в...

Сортировка слов массива в алфавитном порядке
Дано предложение, между словами которого может быть любое число пробелов. Вывести слова данного...

Сортировка массива слов в алфавитном порядке
Здравствуйте, хотел узнать как можно произвести &quot;сортировку букв в массиве слов в алфавитном...

Сортировка слов предложения в алфавитном порядке
Задача следующая: Написать две программы для сортировки слов введенного предложения в алфавитном...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru