如何使用 java stringbuilder 创建随机短语?
How to create a random phrase using java stringbuilder?
我已经编写了简单的随机短语生成器。但我不明白如何使用 stringbuilder 重写这个程序。我尝试使用 "append"。但它只是将单词添加到整个字符串中。
我的代码:
public static void main(String[] args){
String[] firstWord = {"one", "two","three"};
String[] secondWord = {"four", "five", "six"};
String[] thirdWord = {"seven", "eight", "nine"};
String[] fourthWord = {"ten", "eleven", "twelve"};
int oneLength = firstWord.length;
int secondLength = secondWord.length;
int thirdLength = thirdWord.length;
int fourthLength = fourthWord.length;
int rand1 = (int) (Math.random() * oneLength);
int rand2 = (int) (Math.random() * secondLength);
int rand3 = (int) (Math.random() * thirdLength);
int rand4 = (int) (Math.random() * fourthLength);
String phrase = firstWord[rand1] + " " + secondWord[rand2] + " "
+ thirdWord[rand3] + fourthWord[rand4];
System.out.println(phrase);
}
像这样:
String phrase = new StringBuilder(firstWord[rand1]).append(" ")
.append(secondWord[rand2]).append(" ")
.append(thirdWord[rand3]).append(" ")
.append(fourthWord[rand4]).toString();
您的示例已修改为使用字符串生成器。您可以在 https://www.tutorialspoint.com/compile_java8_online.php
进行测试
import java.lang.StringBuilder;
public class HelloWorld{
public static void main(String []args){
String[] firstWord = {"one", "two","three"};
String[] secondWord = {"four", "five", "six"};
String[] thirdWord = {"seven", "eight", "nine"};
int oneLength = firstWord.length;
int secondLength = secondWord.length;
int thirdLength = thirdWord.length;
int rand1 = (int) (Math.random() * oneLength);
int rand2 = (int) (Math.random() * secondLength);
int rand3 = (int) (Math.random() * thirdLength);
String phrase = firstWord[rand1] + " " + secondWord[rand2] + " "
+ thirdWord[rand3];
StringBuilder sb = new StringBuilder();
sb.append(firstWord[rand1]);
sb.append(" ");
sb.append(secondWord[rand2]);
sb.append(" ");
sb.append(thirdWord[rand3]);
String phraseSb = sb.toString();
System.out.println("Plus Operator: " + phrase);
System.out.println("String Builder: " + phraseSb);
}
}
我已经编写了简单的随机短语生成器。但我不明白如何使用 stringbuilder 重写这个程序。我尝试使用 "append"。但它只是将单词添加到整个字符串中。
我的代码:
public static void main(String[] args){
String[] firstWord = {"one", "two","three"};
String[] secondWord = {"four", "five", "six"};
String[] thirdWord = {"seven", "eight", "nine"};
String[] fourthWord = {"ten", "eleven", "twelve"};
int oneLength = firstWord.length;
int secondLength = secondWord.length;
int thirdLength = thirdWord.length;
int fourthLength = fourthWord.length;
int rand1 = (int) (Math.random() * oneLength);
int rand2 = (int) (Math.random() * secondLength);
int rand3 = (int) (Math.random() * thirdLength);
int rand4 = (int) (Math.random() * fourthLength);
String phrase = firstWord[rand1] + " " + secondWord[rand2] + " "
+ thirdWord[rand3] + fourthWord[rand4];
System.out.println(phrase);
}
像这样:
String phrase = new StringBuilder(firstWord[rand1]).append(" ")
.append(secondWord[rand2]).append(" ")
.append(thirdWord[rand3]).append(" ")
.append(fourthWord[rand4]).toString();
您的示例已修改为使用字符串生成器。您可以在 https://www.tutorialspoint.com/compile_java8_online.php
进行测试 import java.lang.StringBuilder;
public class HelloWorld{
public static void main(String []args){
String[] firstWord = {"one", "two","three"};
String[] secondWord = {"four", "five", "six"};
String[] thirdWord = {"seven", "eight", "nine"};
int oneLength = firstWord.length;
int secondLength = secondWord.length;
int thirdLength = thirdWord.length;
int rand1 = (int) (Math.random() * oneLength);
int rand2 = (int) (Math.random() * secondLength);
int rand3 = (int) (Math.random() * thirdLength);
String phrase = firstWord[rand1] + " " + secondWord[rand2] + " "
+ thirdWord[rand3];
StringBuilder sb = new StringBuilder();
sb.append(firstWord[rand1]);
sb.append(" ");
sb.append(secondWord[rand2]);
sb.append(" ");
sb.append(thirdWord[rand3]);
String phraseSb = sb.toString();
System.out.println("Plus Operator: " + phrase);
System.out.println("String Builder: " + phraseSb);
}
}