Nerdy4dayz Ответов: 1

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


Приведенный пример, пожалуйста, помогите мне.

WordScramble (обычный пример)
Введите свою фразу для кодирования:
Привет, я люблю длинные выходные

Новая зашифрованная фраза:
lndoi, v hwds lleo olneegee





WordScramble (дополнительный кредитный пример)
Введите свою фразу для кодирования:
Привет, я люблю длинные выходные

Новая зашифрованная фраза:
Leloh, я ovle ГЛОНАСС / GPS seenkedw

Что я уже пробовал:

public class wordScramble
{
    public static void main (String[] args)
    {
        Scanner input = new Scanner (System.in);
        System.out.println("Enter phrase");
        String str= input.nextLine();
        int x = str.length();
        int counter = 0;
        int num = (int)Math.random();  
        StringBuilder sb = new StringBuilder(str);

        while (str.length() > 0 )
        {
            String word = str.substring(0,counter++);
            sb.deleteCharAt(num);
            String result = sb.toString();
            System.out.println(result);

        }
    }
}

OriginalGriff

И что же?
А что вы пробовали?
Где ты застрял?
Какая помощь вам нужна?

Nerdy4dayz

Я опубликовал то, что пробовал выше, это мой первый год обучения java, и мой учитель никогда не учил нас многому, кроме подстрок и прочего, я не понимаю, как случайным образом вставлять и удалять символы в цикле.

1 Ответов

Рейтинг:
12

Richard MacCutchan

Видеть String.split (Java Platform SE 7 )[^] что разрушит фразу. затем вы можете самостоятельно настроить буквы каждого слова перед повторной сборкой фразы.


Nerdy4dayz

Можно ли сделать это только со строкой и подстрокой bc вот что хочет от меня мой учитель

Richard MacCutchan

Ну, я думаю, что это то, что вы должны сделать.

Nerdy4dayz

Да, я должен использовать этот формат и со строками, символами, подстроками и т. д. Вот почему я в замешательстве и действительно не знаю как это сделать и мне нужна помощь

Richard MacCutchan

Вам нужны два случайных числа, которые вы можете использовать, чтобы указать на два символа в строке. Если любой из них указывает на пробел, то получите другое число и перепроверьте его. Как только у вас есть указатели (то есть индексы), вы можете поменять местами два символа. Повторите это столько раз, сколько вам нравится, и распечатайте полученную строку.

Nerdy4dayz

Хорошо спасибо