如何随机选择Java中的按钮文字?

How to Randomly Choose Button Text in Java?

朋友,

我是一名土木工程师。现在我正在 Android 开发中工作。我知道 Java 和 C#,但我在心里设定我的编程知识只是像阅读和理解这样的编辑。如何提高我的技能,比如专门为 C# 和 Java.

编写程序

谢谢。

那么这是我的问题..

例如我有 3 个按钮和 3 个 int 值。

如何使按钮文本在单击按钮时从 3 个 int 值字符串中随机选择。

这是一款适用于 Android 平台的简单数学游戏。

        TextView textA = (TextView) findViewById(R.id.textView);
        TextView textB = (TextView) findViewById(R.id.textView3);
        final Button button1 = (Button) findViewById(R.id.button1);
        final Button button2 = (Button) findViewById(R.id.button2);
        final Button button3 = (Button) findViewById(R.id.button3);


        Random rand = new Random();
        final int x = rand.nextInt(1000);
        Random randB = new Random();
        int y = randB.nextInt(1000);
        Random randw = new Random();
        int w = randw.nextInt(1000);
        Random randz = new Random();
        int z = randz.nextInt(1000);

        int A = x;
        int B = y;
        int Wrong1 = (A + w);
        int Wrong2 = (A + z);
        final int CorrectAnswer = (A + B);

        String text = "text";
        Button[] arr = {button1, button2, button3};
        Random r = new Random();
        Button b = arr[r.nextInt(arr.length)];
        b.setText(text);

        int Ans1 = CorrectAnswer;
        int Ans2 = Wrong1;
        int Ans3 = Wrong2;


        textA.setText("" + A);
        textB.setText("" + B);
        button1.setText("" + Wrong1);
        button2.setText("" + Wrong2);
        button3.setText("" + CorrectAnswer);
        final int ACAns;
        ACAns = Integer.parseInt(button3.getText().toString());
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int AAns = Integer.parseInt(button1.getText().toString());


                if ((AAns == ACAns)) {
                    Toast.makeText(getBaseContext(), "Your answer is correct!", Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(getBaseContext(), "Your answer is Wrong!", Toast.LENGTH_SHORT).show();
                }

            }
        });
        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int BAns = Integer.parseInt(button2.getText().toString());
                int ACAns = Integer.parseInt(button1.getText().toString());
                if ((BAns == ACAns)) {
                    Toast.makeText(getBaseContext(), "Your answer is correct!", Toast.LENGTH_SHORT).show();
                } else {
                    }    
            }
        });
        button3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int CAns = Integer.parseInt(button3.getText().toString());
                int ACAns = Integer.parseInt(button3.getText().toString());
                if ((CAns == ACAns)) {
                    Toast.makeText(getBaseContext(), "Your answer is correct!", Toast.LENGTH_SHORT).show();                      

                    return;
                } else {
                    Toast.makeText(getBaseContext(), "Your answer is Wrong!", Toast.LENGTH_SHORT).show();
                }

将字符串值存储在大小为 3 的数组中。 生成一个介于 0 和 2 之间的随机数。将该值保存在一个变量中,并将与该值关联的字符串分配给您的按钮。通过删除您已经分配的字符串来减少数组。然后生成一个介于 0 和 1 之间的随机整数。再次分配给一个按钮。删除您刚刚分配的元素,最后将最后一个字符串值分配给您的最后一个按钮。

抱歉缺少代码,但我正在使用 phone,在 phone 上编写代码并不容易。

希望对您有所帮助

取两个数组。

String buttonNamesArray[] = {"name1", "name2", "name3"};
int indexArray[] = {0, 1, 2};

现在通过任意逻辑生成一个随机数,然后对3(indexArray的长度)进行取模运算,得到[0-2]范围内的索引。现在做

randomIndex = randomNumber % 3;
if(indexArray[randomIndex] != -1) {
    //assign the next button value buttonNamesArray[randomIndex]
    indexArray[randomIndex] = -1;
}

循环执行此操作,直到所有按钮都没有结束。

这只是逻辑而非实际代码。