You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

点击随机按钮时如何展示同索引位置的不同字符串?

解决同索引字符串配对显示的问题

我明白你的困扰啦——现在你的代码里randomWord()和randomWord2()是各自随机生成索引,所以WORDS和WORDS2的内容没法保证对应同索引。要实现点击随机按钮时,两个数组同索引的内容分别显示在不同TextView里,核心是只生成一个随机索引,用这个索引同时获取两个数组的元素,这样就能完美配对啦。

下面是具体的修改步骤:

1. 修改Adapter.java,统一随机索引的生成

删掉原来各自独立的randomWord()和randomWord2()方法,新增一个获取随机索引的方法,这样我们就能用同一个索引取两个数组的元素:

package com.word.game;
import java.util.Random;

public class Adapter {
    public static final Random RANDOM = new Random();
    public static final String[] WORDS = {"RUN", "WALK", "CRY", "SUGAR", "SALT", "RAIN", "NOVEMBER"};
    public static final String[] WORDS2 = {"FAST", "RELAX", "TEARS", "DRINK", "RECIPERS", "WATER", "CALENDAR"};

    // 新增:生成一个随机索引(两个数组长度一致,直接用WORDS的长度即可)
    public static int getRandomIndex() {
        return RANDOM.nextInt(WORDS.length);
    }

    public static String shuffleWord(String word) {
        if (word != null && !"".equals(word)) {
            char a[] = word.toCharArray();
            for (int i = 0; i < a.length; i++) {
                int j = RANDOM.nextInt(a.length);
                char tmp = a[i];
                a[i] = a[j];
                a[j] = tmp;
            }
            return new String(a);
        }
        return word;
    }
}

2. 修改MainActivity.java的newGame()方法,用同一索引配对内容

在newGame()里生成一次随机索引,然后用这个索引同时获取WORDS和WORDS2的元素,再分别设置到对应的TextView中:

private void newGame() {
    // 生成唯一的随机索引
    int randomIndex = Adapter.getRandomIndex();
    // 用同一个索引取两个数组的对应元素
    wordToFind = Adapter.WORDS[randomIndex];
    wordToFind2 = Adapter.WORDS2[randomIndex];
    
    String wordShuffled = Adapter.shuffleWord(wordToFind);
    suffletext.setText(wordShuffled);
    // 将WORDS2的对应内容显示在quest这个TextView里
    quest.setText(wordToFind2);
    
    answer.setText("");
}

为什么这样改?

原来的代码中,randomWord()和randomWord2()会各自生成独立的随机索引,导致两个数组的内容大概率不匹配。现在我们只生成一次索引,同时获取两个数组的元素,就能严格保证WORDS和WORDS2中同位置的字符串配对显示啦。

另外要注意:确保WORDS和WORDS2的数组长度一致,你的代码里两者都是7个元素,完全没问题~

内容的提问来源于stack exchange,提问作者Onad Hanif

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:34:48