Создать случайное слово, используя StringBuilder - P

Я пытаюсь создать 10 строк из 3 слов, используя строителя строк и случайных. В настоящее время у меня есть две петли, но я не получаю то, что хочу.

 public String generateRandSentences() {

        }
    }
    return strBuilder.toString();
}

3 ответа

Попробуйте сделать это шаг за шагом вы можете заменить эти строки

String rGenCharSet = sentences[rGen.nextInt(sentences.length)];
            strBuilder.append(rGenCharSet + " ");

в

int randomnumber =  rGen.nextInt(sentences.length);
String rGenCharSet = sentences[randomnumber];
strBuilder.append(rGenCharSet + " ");

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

Обратите внимание, что println() печатает построитель строк, как в:

System.out.println(sb);

так как sb.toString() вызывается неявно, как и с любым другим объектом в println() призывание.

Он генерирует одну строку из 75 символов, потому что разделитель строк никогда не вставляется. Попробуйте добавить strBuilder.append('\n') после каждого предложения генерируется как в:

public String generateRandSentences() {
    String[] sentences = {"mum", "can", "you", "get", "one", "bun", "for",
            "guy", "one", "for", "gus", "his", "old", "man", "who"};
    StringBuilder strBuilder = new StringBuilder();
    Random rGen = new Random();

        for (int row = 0; row < 5; row++) {
            for (int words = 0; words < 15; words++) {
            String rGenCharSet = sentences[rGen.nextInt(sentences.length)];
            strBuilder.append(rGenCharSet + " ");
        }
        strBuilder.append('\n');
    }
    return strBuilder.toString();
}

TextView txtView1 = findViewById(R.id.txtview_vc_1);
txtView1.setText(generateRandSentences());
import java.util.*;

class Main {
 public static void main(String[] args){

generateRandSentences();

                                    }




public static void generateRandSentences() {
Random rGen = new Random();
String[] sentences = {"mum", "can", "you", "get", "one", "bun", "for","guy", "one", "for", "gus", "his", "old", "man", "who"};
int size = sentences.length;
for(int i = 0 ; i < 5 ; i++)
{
  StringBuilder strBuilder = new StringBuilder();
  for(int j = 0 ; j < 15 ; j++)
  {
    String str = sentences[rGen.nextInt(size)];
    strBuilder.append(str + " ");
  }
  System.out.println(strBuilder.toString());  
}


                                            }
      }
Другие вопросы по тегам