友
我是土木工程师。现在我正在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();
}
答案 0 :(得分:1)
拿两个阵列。
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;
}
循环执行此操作,直到所有按钮都没有结束。
这只是逻辑,而不是实际的代码。
答案 1 :(得分:0)
将字符串值存储在大小为3的数组中。 生成0到2之间的随机数。将该值保存在变量中,并将与该值关联的字符串分配给按钮。通过删除已分配的字符串来减少数组。然后在0和1之间生成一个随机int。再次分配给一个按钮。删除您刚刚分配的元素,最后将最后一个字符串值分配给最后一个按钮。
很抱歉我的手机上没有代码,但在手机上编码并不是很容易。
希望这有帮助