【问题标题】:Select array2 item by index based on array1 random item by index根据 array1 随机项按索引选择 array2 项
【发布时间】:2016-07-02 14:42:14
【问题描述】:

标题非常具有解释性,我不确定如何制作数组,其中每个项目都有相互之间的项目,所以这就是我想出的解决方案。是制作两个单独的数组,这样当从 Array1 中选择一个随机项时,代码将自动从第二个数组中提取具有相同索引值的项。这就是我对代码的了解,不多,对此我不是很有经验。

higher.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String[] array = getResources().getStringArray(R.array.terms);
            String[] array2 = getResources().getStringArray(R.array.url);
            String randomStr = array[new Random().nextInt(array.length)];
            text1.setText(randomStr);
            text2.setText(?????);
        }
    });

所以理想情况下,我希望它从与第一个数组的索引匹配的第二个数组中提取值并将其显示在“text2”中。

提前谢谢你!

【问题讨论】:

标签: java android arrays


【解决方案1】:

这很容易。只需保存该随机值并在两个数组中使用它即可。

     String[] array = getResources().getStringArray(R.array.terms);
     String[] array2 = getResources().getStringArray(R.array.url);

        Random random = new Random();
        int index = random.nextInt(array.length);
            String randomStr = array[index];
            text1.setText(randomStr);
            text2.setText(array2[index]);

【讨论】:

  • 我知道这可能很容易 XD 我对数组不是很有经验。感谢您的回复!
【解决方案2】:

这样做:

higher.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        String[] array = getResources().getStringArray(R.array.terms);
        String[] array2 = getResources().getStringArray(R.array.url);
        String randomStr = array[new Random().nextInt(array.length)];
        text1.setText(randomStr);

        // HERE i made the changes            

        int pos = Arrays.asList(array2).indexOf(randomStr);

        text2.setText(array2[pos]);
    }
});

刚刚给出了如何找到任何索引的替代方法 数组中的特定元素。

【讨论】:

    猜你喜欢
    • 2011-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-04
    • 1970-01-01
    • 1970-01-01
    • 2021-03-08
    • 1970-01-01
    相关资源
    最近更新 更多