如何编写一个从数组中随机选择引号的函数? - Android Java

How to code a function that randomly selects a quote from an array? - Android Java

我正在学习 android 编码教程,并尝试使引用 selection 随机化。以下是未更改的代码。

       final ArrayList<Quote> quoteList = new ArrayList<Quote>();

    Quote quote1 = new Quote("Would I rather be feared or loved? Easy. Both. I want people to fear how much they love me.", "Michael Scott");
    quoteList.add(quote1);

    Quote quote2 = new Quote("I'm not superstitious. But I am a little stitious.", "Michael Scott");
    quoteList.add(quote2);

    Quote quote3 = new Quote("I like waking up to the smell of bacon.", "Michael Scott");
    quoteList.add(quote3);

    Quote quote4 = new Quote("Wikipedia is the best thing ever. Anyone in the world can write anything they want about any subject. So you know you are getting the best possible information.", "Michael Scott");
    quoteList.add(quote4);

    Quote quote5 = new Quote("Mo' money, mo' problems.", "Michael Scott");
    quoteList.add(quote5);

    Quote quote6 = new Quote("SWAG! Stuff We All Get.", "Michael Scott");
    quoteList.add(quote6);

    Quote quote7 = new Quote("You just gots to get your freak on.", "Michael Scott");
    quoteList.add(quote7);

    Quote quote8 = new Quote("We're all homos. Homo sapiens.", "Michael Scott");
    quoteList.add(quote8);

    Quote quote9 = new Quote("Hate to see you leave but love to watch you go. 'Cause of your butt.", "Michael Scott");
    quoteList.add(quote9);

    Quote quote10 = new Quote("If a baby were president, there would be no taxes, there would be no war.", "Michael Scott");
    quoteList.add(quote10);
    //Add more quotes here


    touch.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            if (count < quoteList.size()) {
                Quote q = quoteList.get(count);
                quoteText.setText(q.getQuote());
                personText.setText(q.getPerson());
                count = count + 1;
            } else{
                count = 0;
            }
        }
    });
}

如果有人能解释如何使应用程序随机 select 触摸屏幕时的引用,而不是一个一个地浏览它们,我将不胜感激。

随机select一个引用:

int randomNum = (int)(Math.random()*(quoteList.size() - 1));
Quote randomQuote = quoteList.get(randomNum);
String yourString = quoteList[new Random().nextInt(quoteList.length)];

您必须生成一个介于 0 和列表长度之间的随机数

Random rand = new Random()
int  n = rand.nextInt(quoteList.size() - 1);

然后使用获取该索引处的报价

Quote random = quoteList.get(n);
Random random = new Random();    
int randomNum = random.nextInt(quoteList.size() - 1);
Quote randomQuote = quoteList.get(randomNum);