如何随机选择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;
}
循环执行此操作,直到所有按钮都没有结束。
这只是逻辑而非实际代码。
朋友,
我是一名土木工程师。现在我正在 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;
}
循环执行此操作,直到所有按钮都没有结束。
这只是逻辑而非实际代码。