Создать случайное слово, используя 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());
}
}
}