如果在arraylist中生成随机数的语句

时间:2014-07-30 22:16:00

标签: java android eclipse

关于我的代码,我有两个问题:

  1. 我的ArrayList现在生成0到5之间的随机数。如何在1到5之间进行此操作?

  2. 如果单击其中一个按钮,并且其编号是例如4(并非总是如此,显然),我希望发生一些事情;但是,我不知道如何在代码中写这个。那么,你会怎么做呢?

  3. 修改

    更具体的问题2,所以我可以尝试一些事情

    • 如何获取按钮上生成的当前号码?

    我的实施是;

    package com.example.buttontester;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.Button;
    
    public class GameOneActivity extends Activity {
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.gameone_layout);
    
            List<Integer> numbers = new ArrayList<>();
            for(int i = 0; i < 5; i++){
                numbers.add(i);
            }
    
            Collections.shuffle(numbers);
    
            for(int i = 0; i < 5; i++) {
             System.out.println(numbers.get(i));
            }
    
            Button btn1 = (Button) findViewById(R.id.button1);
            btn1.setText(String.valueOf(numbers.get(0)));
    
            Button btn2 = (Button) findViewById(R.id.button2);
            btn2.setText(String.valueOf(numbers.get(1)));
    
            Button btn3 = (Button) findViewById(R.id.button3);
            btn3.setText(String.valueOf(numbers.get(2)));
    
            Button btn4 = (Button) findViewById(R.id.button4);
            btn4.setText(String.valueOf(numbers.get(3)));
    
            Button btn5 = (Button) findViewById(R.id.button5);
            btn5.setText(String.valueOf(numbers.get(4)));
        }
    
        @Override
        public void onPause() {
            super.onPause();
        }
    
        @Override
        public void onResume() {
            super.onResume();
        }
    
    }
    

2 个答案:

答案 0 :(得分:1)

现在你有:

List<Integer> numbers = new ArrayList<>();
for (int i = 0; i < 5; i++){
    numbers.add(i);
}

你说:

  

我的ArrayList现在生成0到5之间的随机数,如何在1到5之间进行此操作?

好吧,然后改变循环:

for (int i = 1; i < 5; i++)

答案 1 :(得分:1)

  1. 将您的循环更改为:

    for(int i = 1; i&lt; = 5; i ++)

  2. 对于您感兴趣的按钮(例如4),您需要在按钮上设置onClickListener。请参阅:http://developer.android.com/reference/android/widget/Button.html