如何使用java stringbuilder创建一个随机短语?

时间:2017-03-04 18:04:07

标签: java string random stringbuilder

我已经编写了简单的随机短语生成器。但我不明白如何使用stringbuilder重写这个程序。我尝试使用"追加"。但它只是在整个字符串中添加了单词。

我的代码:

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);
}

2 个答案:

答案 0 :(得分:2)

像这样:

String phrase = new StringBuilder(firstWord[rand1]).append(" ")
                    .append(secondWord[rand2]).append(" ")
                    .append(thirdWord[rand3]).append(" ")
                    .append(fourthWord[rand4]).toString();

答案 1 :(得分:1)

您的示例已修改为使用字符串构建器。您可以在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);

     }
}