Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/47: Рейтинг темы: голосов - 47, средняя оценка - 4.62
4 / 4 / 1
Регистрация: 07.10.2012
Сообщений: 228

Поменять порядок слов на обратный

15.08.2013, 16:18. Показов 8991. Ответов 9
Метки нет (Все метки)

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

Можно ли сделать так - написать регулярное выражение на одно слово, потом эти слова запихнуть в коллекцию (ArrayList подойдет?) и каким-нибудь макаром, работая с этой коллекцией, поменять порядок слов.
Можно ли так сделать? или есть какой-нибудь другой лучший способ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.08.2013, 16:18
Ответы с готовыми решениями:

Поменять порядок цифр числа n на обратный
Поменять порядок цифр числа n на обратный. Помогите сделать так чтобы работала с 2016,20011,10001,64040 package javaapplication8; ...

Как поменять порядок элементов в SortedSet?
Привет! Мне нужно зареверсить сэт. Есть: {1-А, 2-B, 3-C} Должно стать: {3-C, 2-B, 1-A} Подскажите, как это сделать?

Поменять порядок слов в предложении на обратный
Ну вопрос то может и банальный, но что то я совсем запутался. в общем задача: Значит нужно представить просто предложение на оборот,...

9
ɐwʎ ɔ vǝmоɔ dиw ɐʚонɔ
 Аватар для tankomaz
443 / 442 / 100
Регистрация: 14.10.2012
Сообщений: 1,146
Записей в блоге: 9
15.08.2013, 17:48
было: мама мыла раму, не очень
стало: очень не, раму мыла мама
знаки препинания как должны быть расставлены в итоге? со словами то понятно

Добавлено через 6 минут
ну вот например если разделитель только пробел. Так, для наглядности, может дальше поймете сами что хотите
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.Scanner;
 
public class MainClazz {
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String text = sc.nextLine();
        String outText = "";
        String[] array = text.split(" ");
        for (int i = array.length - 1; i >= 0; i--) {
            outText += array[i] + " ";
        }
        
        System.out.println(outText);
        
    }
}
Добавлено через 39 минут
а вот как просили вы с Regexp'ами, ArrayList'ами, Шлю..ой
только слова, без любых других знаков, работает с англ и рус словами
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
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
public class MainClazz {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String text = sc.nextLine();
        
        String regexp = "([а-яА-Я]|[a-zA-Z])+";
        Pattern pattern = Pattern.compile(regexp);
        Matcher matcher = pattern.matcher(text);
        
        List<String> list = new ArrayList<String>();
        while (matcher.find()) {
            list.add(matcher.group());
        }
 
        StringBuilder sb = new StringBuilder();
        for (int i = list.size() - 1; i >= 0; i--) {
            sb.append(list.get(i) + " ");
        }
        
        System.out.println(sb.toString().trim());
    }
}
1
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
15.08.2013, 17:55
Цитата Сообщение от tankomaz Посмотреть сообщение
Java
1
outText += array[i] + " ";
не делай так больше, пожалуйста!
1
ɐwʎ ɔ vǝmоɔ dиw ɐʚонɔ
 Аватар для tankomaz
443 / 442 / 100
Регистрация: 14.10.2012
Сообщений: 1,146
Записей в блоге: 9
15.08.2013, 18:24
Цитата Сообщение от Севак Посмотреть сообщение
не делай так больше, пожалуйста!
ок, тут не отрицаю что идея "не ахти". Какой вариант предложите?
кстати это по поводу конкатенации строк либо про " "?
1
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
15.08.2013, 18:26
tankomaz, по поводу конкатенации, лучше создать стрингбилдер и аппендить в него строки с пробелами, во втором варианте кстати так и поступили )
0
15.08.2013, 18:32

Не по теме:

аа, ну это я делал осознано, сам себя ругал и делал :) я в курсе про затраты и пересоздание объектов, но все-равно за замечание спасибо)

1
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
16.08.2013, 00:16
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
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
import java.util.StringTokenizer;
 
/**
 * @author mutagen
 */
public class ReverseWords {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException {
        Stack<String> stack = new Stack<>();
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        while (st.hasMoreTokens()) {
            stack.push(st.nextToken());
        }
        while (!stack.empty()) {
            System.out.println(stack.pop());
        }
    }
}
1
4 / 4 / 1
Регистрация: 07.10.2012
Сообщений: 228
16.08.2013, 08:18  [ТС]
Всем большое спасибо. А со знаками препинания что делать - сама не знаю, не сказано
0
4 / 4 / 1
Регистрация: 07.10.2012
Сообщений: 228
17.08.2013, 18:47  [ТС]
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Stack<String> stack = new Stack<>();
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            StringTokenizer st = null;
            
            try {
                st = new StringTokenizer(br.readLine());
            } 
            catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            while (st.hasMoreTokens()) {
                stack.push(st.nextToken());
            }
            while (!stack.empty()) {
                System.out.print(stack.pop() + " ");
            }
Не всегда с запятыми лады почему-то
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
17.08.2013, 21:54
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
package easybudda.examples.printreversedwords;
 
import java.util.*;
 
public class ReversedWords {
 
    static void printReversedWords(StringTokenizer tok) {
        if ( tok.hasMoreElements() ) {
            String word = tok.nextToken();
            printReversedWords(tok);
            System.out.print(word + " ");
        }
    }
    
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        
        while ( true ) {
            System.out.print("String: ");
            String str = scan.nextLine();
            
            if ( str.isEmpty() )
                break;
            
            System.out.print("Result: ");
            printReversedWords(new StringTokenizer(str));
            System.out.println();
        }
    }
}
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.08.2013, 21:54
Помогаю со студенческими работами здесь

Поменять порядок слов в тексте на обратный
Добрый день. Получил след. задание: Дана строка текста, длиной не более 100 символов. В строке слова отделены пробелом....

Поменять порядок слов в предложениях на обратный
У меня вот такая проблема- программа которая меняет порядок слов в предложениях на обратный из данного файла допустим а.txt в котором 2-3...

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

Поменять порядок слов в строках на обратный в текстовом файле
Была задача поменять порядок строк изначально(прикладываю реализацию). Теперь преподаватель просит поменять порядок слов в строках(сами...

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru