【问题标题】:how can i get this code to choose a random word once from each array to print a sentence?我怎样才能让这段代码从每个数组中选择一个随机单词来打印一个句子?
【发布时间】:2017-10-20 11:33:17
【问题描述】:

到目前为止,这是我的代码,尽管我正在努力打印一个句子,更不用说随机打印了,我该如何让它工作。

我需要每个数组中的一个单词来使用数组中的单词打印一个句子

import java.util.Random;

public class MadLibs {

    public static void main(String[] args) {

        String[] nouns = null;
        String[] verbs = null;
        String[] adjec = null;
        String[] adver = null; 

        nouns[0] = "Lion";
        nouns[1] = "Stewart";
        nouns[2] = "Timbaktu";
        nouns[3] = "Kilamanjaro";
        nouns[4] = "Hawai";
        nouns[5] = "Frog";
        nouns[6] = "Russia";
        nouns[7] = "Dimethyltryptaline";
        nouns[8] = "Dog";
        nouns[9] = "Badness";

        verbs[0] = "hear";
        verbs[1] = "achieve";
        verbs[2] = "smash";
        verbs[3] = "destroy";                   
        verbs[4] = "smoke";
        verbs[5] = "burn";
        verbs[6] = "rose";
        verbs[7] = "speak";
        verbs[8] = "type";
        verbs[9] = "be";

        adjec[0] = "Tangy";
        adjec[1] = "Sour";
        adjec[2] = "Smooth";
        adjec[3] = "Sticky";
        adjec[4] = "Soft";
        adjec[5] = "Black";
        adjec[6] = "Whispering";
        adjec[7] = "Resonant";
        adjec[8] = "Wide";
        adjec[9] = "Long";

        adver[0] = "Truthfully";
        adver[1] = "Endlessly";
        adver[2] = "Painfully";
        adver[3] = "Tirelessly";
        adver[4] = "Beautifully";
        adver[5] = "Uneasily";
        adver[6] = "Wickedly";
        adver[7] = "Briskly";
        adver[8] = "Now";
        adver[9] = "Last";


        String random = (verbs[new Random().nextInt(verbs.length)]);


        System.out.println("Does your" + verbs + " your " + adjec + nouns + adver );


    }

}

【问题讨论】:

  • Math.randomRandom
  • 你应该先初始化数组 - String[] nouns = new String[10];.

标签: java arrays random printing


【解决方案1】:

给你 :) 希望这是你想要的(我通常不会解决学校作业,但有时你会喜欢它):

public static void main(String[] args) {

    String[] nouns = new String[10];
    String[] verbs = new String[10];
    String[] adjec = new String[10];
    String[] adver = new String[10]; 

    nouns[0] = "Lion";
    nouns[1] = "Stewart";
    nouns[2] = "Timbaktu";
    nouns[3] = "Kilamanjaro";
    nouns[4] = "Hawai";
    nouns[5] = "Frog";
    nouns[6] = "Russia";
    nouns[7] = "Dimethyltryptaline";
    nouns[8] = "Dog";
    nouns[9] = "Badness";

    verbs[0] = "hear";
    verbs[1] = "achieve";
    verbs[2] = "smash";
    verbs[3] = "destroy";                   
    verbs[4] = "smoke";
    verbs[5] = "burn";
    verbs[6] = "rose";
    verbs[7] = "speak";
    verbs[8] = "type";
    verbs[9] = "be";

    adjec[0] = "Tangy";
    adjec[1] = "Sour";
    adjec[2] = "Smooth";
    adjec[3] = "Sticky";
    adjec[4] = "Soft";
    adjec[5] = "Black";
    adjec[6] = "Whispering";
    adjec[7] = "Resonant";
    adjec[8] = "Wide";
    adjec[9] = "Long";

    adver[0] = "Truthfully";
    adver[1] = "Endlessly";
    adver[2] = "Painfully";
    adver[3] = "Tirelessly";
    adver[4] = "Beautifully";
    adver[5] = "Uneasily";
    adver[6] = "Wickedly";
    adver[7] = "Briskly";
    adver[8] = "Now";
    adver[9] = "Last";

    String v = (verbs[new Random().nextInt(verbs.length)]);
    String a = (adjec[new Random().nextInt(adjec.length)]);
    String n = (nouns[new Random().nextInt(nouns.length)]);
    String ad = (adver[new Random().nextInt(adver.length)]);

    System.out.println("Does your " + v + " your " + a + " " + n + " " + ad );
}

但是,这些句子没有意义。这些词可能应该以另一种顺序出现,例如:

System.out.println("Does your " + a + " " + n + " " + v + " " + ad );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-16
    • 1970-01-01
    • 1970-01-01
    • 2011-10-21
    • 1970-01-01
    • 2014-08-19
    • 1970-01-01
    • 2017-06-12
    相关资源
    最近更新 更多