按索引基于array1随机项逐个选择array2项

时间:2016-07-02 04:38:02

标签: java android arrays

标题非常明确,我不确定如何制作每个项目彼此之间有项目的数组,所以这就是我想出的解决方案。是制作两个单独的数组,以便在从Array1中选择随机项时,代码将自动从具有相同Index值的第二个数组中提取项。这就是我对代码的看法,它并不多,我在这方面经验不足。

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"。

提前谢谢!

2 个答案:

答案 0 :(得分: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]);

答案 1 :(得分:0)

这样做:

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

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