Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/34: Рейтинг темы: голосов - 34, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 20.04.2014
Сообщений: 6

Поменять местами два соседних элемента в строке

17.10.2014, 22:23. Показов 6886. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, у меня такой вопрос:
Я ввожу некоторую строку. После того, как я ее ввел мне необходимо поменять местами два соседних элемента.
То есть
String s = "123";
А мне нужно : "213" или "132"
Прошу просто объяснить, как это можно быстро реализовать в java, посмотрел документацию и не нашел подходящего метода для быстрого решения( и короткого)
Пожалуйста, помогите!!!
Буду очень признателен!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.10.2014, 22:23
Ответы с готовыми решениями:

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

Можно ли поменять местами два соседних элемента одномерного массива не используя оператор SWAP ?
можно ли обойтись без SWAP, если я хочу поменять местами элементы?

Поменять местами два соседних элемента (по всей таблице), когда эти элементы четные
Дана линейная таблица Z. Поменять местами два соседние элементы (по всей таблице), когда эти элементы четные.(через массив)

5
3 / 3 / 0
Регистрация: 31.08.2014
Сообщений: 87
17.10.2014, 22:39
Если в строке будут буквы и (или) цифры..
Я бы разбил строку на буквы
AnsiString StrDano="";//твоя сторка
AnsiString A1;//первый символ
A1 = StrDano.Delet(1, 256);
StrDano = StrDano.Delet(0,1);//удалил 1-й символ
далее вводя А2...An строки и проделывая A1 = StrDano.Delet(1, 256) StrDano = StrDano.Delet(0,1) ты получишь строку разбитую по символам. Далее
AnsiString Itog = А2+а3+а5+А8....в той последовательности как нодо
1
69 / 69 / 39
Регистрация: 22.05.2014
Сообщений: 311
17.10.2014, 22:45
Assemler, это 5.

Altidor, какие конкретно буквы нужно поменять? в каком месте? по какому индексу?
быстро не получится, менять нужно ручками. Строки в джаве неизменяемы, но можно обернуть в стрингбилдер, например

Java
1
2
3
4
5
6
7
String s = "123";
        int firstIndex = 1;
        int secondIndex = 2;
        StringBuilder t = new StringBuilder(s);
        t.setCharAt(firstIndex, s.charAt(secondIndex));
        t.setCharAt(secondIndex, s.charAt(firstIndex));
        String result = t.toString();
но в общем как обычно непонятно шо надо
0
44 / 44 / 37
Регистрация: 11.12.2012
Сообщений: 200
Записей в блоге: 2
19.10.2014, 01:50
Java
1
2
3
4
5
6
7
8
9
10
11
public static void main(String... args){
        String[] number = "113".split("");
 
        for(int i = 0; i < number.length; i++){
            for(int k = 1; k < number.length; k++ ){
                System.out.println(number[k]);
            }
            System.out.println(number[i]);
            break;
        }
    }
1
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
19.10.2014, 07:45
Altidor, для вашей задачи можно сделать свой метод(функцию), который можно использовать в дальнейшем в программе.

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
    public static String flipChars(String word, int firstIndex, int secondIndex) {
        //Проверка валидности данных
        if (word == null) return null;
        int length = word.length() - 1;
        if (length < secondIndex || secondIndex < firstIndex || firstIndex < 0) return word;
 
        //Преобразовать слово в массив
        char[] chars = word.toCharArray();
 
        //Поменять местами элементы
        char ch;
        ch = chars[firstIndex];
        chars[firstIndex] = chars[secondIndex];
        chars[secondIndex] = ch;
 
        //Преобразовать и вернуть слово
        return new String(chars);
    }
 
    public static void main(String[] args) {
        System.out.println(flipChars("Test", 2,3));
        System.out.println(flipChars(null, 2,3));
        System.out.println(flipChars("Test", 4, 10));
        System.out.println(flipChars("Test", 3, 1));
    }
1
0 / 0 / 0
Регистрация: 20.04.2014
Сообщений: 6
19.10.2014, 21:25  [ТС]
Всем, кто отозвался огромное спасибо!!!
Правда, задачку уже решил, еще день назад, пришлось похимичить, но в итоге получилось!
И простите за неправильно поставленные условия!
Еще раз спасибо за помощь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.10.2014, 21:25
Помогаю со студенческими работами здесь

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

Обменять местами два соседних элемента списка
Кто может объяснить как это работает? Что нужно передать из стека в функцию чтобы она сработала? bool swap (Elem* &amp;first, int...

Строки. В тексте поменять местами каждые два соседних слова
Есть задание: нужно считать текст и вывести его на экран, поменяв местами каждые два соседних слова. Есть готовый код: Тексты надо...

Как поменять два соседних элемента списка?
Здравствуйте! Как поменять два соседних элемента списка? Вот код: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; ...

Как поменять два соседних слова в строке
Как поменять два соседних слова в строке?? имеется код: #include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;windows.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru