Android的随机序列 [英] android random array
问题描述
我想改变code,这样当您点击下一个数按钮,每次,它会生成一个随机数。当产生最后一个号码,应用程序将进行排序,除了最后一个号码。产生最后一个号码后,点击按钮都没有反应。您需要单击清除按钮重新启动。而且没有重复的出现。
这里是我的code
MainActivity.java
I want to change the code, so that when you click the "next number" button each time, it generates a random number. When generating the last number, the app will do the sorting except the last number. After generating the last number, click the button will have no response. You need to click "clear" button to restart. And no repetition is appeared. Here is my code MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
int Count=0;
public void generate(View v){
Random myRandom = new Random();
TextView tv_number_one = (TextView)findViewById(R.id.tv_number_one);
TextView tv_number_two = (TextView)findViewById(R.id.tv_number_two);
TextView tv_number_three = (TextView)findViewById(R.id.tv_number_three);
TextView tv_number_four = (TextView)findViewById(R.id.tv_number_four);
TextView tv_number_five = (TextView)findViewById(R.id.tv_number_five);
TextView tv_number_six = (TextView)findViewById(R.id.tv_number_six);
TextView tv_number_seven = (TextView)findViewById(R.id.tv_number_seven);
String ran=String.valueOf(myRandom.nextInt(50));
switch(Count%7){
case 0:
tv_number_one.setText(ran);
break;
case 1:
tv_number_two.setText(ran);
break;
case 2:
tv_number_three.setText(ran);
break;
case 3:
tv_number_four.setText(ran);
break;
case 4:
tv_number_five.setText(ran);
break;
case 5:
tv_number_six.setText(ran);
break;
case 6:
tv_number_seven.setText(ran);
break;
}
Count++;
}
public void clear (View v){
TextView tv_number_one = (TextView)findViewById(R.id.tv_number_one);
TextView tv_number_two = (TextView)findViewById(R.id.tv_number_two);
TextView tv_number_three = (TextView)findViewById(R.id.tv_number_three);
TextView tv_number_four = (TextView)findViewById(R.id.tv_number_four);
TextView tv_number_five = (TextView)findViewById(R.id.tv_number_five);
TextView tv_number_six = (TextView)findViewById(R.id.tv_number_six);
TextView tv_number_seven = (TextView)findViewById(R.id.tv_number_seven);
tv_number_one.setText("?");
tv_number_two.setText("?");
tv_number_three.setText("?");
tv_number_four.setText("?");
tv_number_five.setText("?");
tv_number_six.setText("?");
tv_number_seven.setText("?");
}
}
activity_main
activity_main
<TextView android:text="\?" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tv_number_one"
android:textSize="30sp"
android:textIsSelectable="true"
android:layout_marginLeft="10dp"
android:textColor="#67ceff"
android:layout_marginStart="20dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="\?"
android:id="@+id/tv_number_two"
android:layout_alignBottom="@+id/tv_number_one"
android:layout_toRightOf="@+id/tv_number_one"
android:layout_toEndOf="@+id/tv_number_one"
android:textColor="#67ceff"
android:textSize="30sp"
android:layout_marginLeft="20dp"
android:layout_marginStart="20dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="\?"
android:id="@+id/tv_number_three"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/tv_number_two"
android:layout_toEndOf="@+id/tv_number_two"
android:layout_marginLeft="20dp"
android:textColor="#67ceff"
android:textSize="30sp"
android:layout_marginStart="20dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="\?"
android:id="@+id/tv_number_four"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/tv_number_three"
android:layout_toEndOf="@+id/tv_number_three"
android:textColor="#67ceff"
android:textSize="30sp"
android:textIsSelectable="true"
android:layout_marginLeft="20dp"
android:layout_marginStart="20dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="\?"
android:id="@+id/tv_number_five"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/tv_number_four"
android:layout_toEndOf="@+id/tv_number_four"
android:layout_marginLeft="20dp"
android:textColor="#67ceff"
android:textSize="30sp"
android:layout_marginStart="20dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="\?"
android:id="@+id/tv_number_six"
android:layout_alignBottom="@+id/tv_number_five"
android:layout_toRightOf="@+id/tv_number_five"
android:layout_toEndOf="@+id/tv_number_five"
android:textColor="#67ceff"
android:textSize="30sp"
android:layout_marginLeft="20dp"
android:layout_marginStart="20dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="\?"
android:id="@+id/tv_number_seven"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/tv_number_six"
android:layout_toEndOf="@+id/tv_number_six"
android:layout_marginLeft="20dp"
android:textColor="#6198ff"
android:textSize="30sp"
android:layout_marginStart="20dp"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="NEXT NUMBER"
android:id="@+id/button_next_num"
android:layout_below="@+id/tv_number_one"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="41dp"
android:onClick="generate"/>
有谁知道该怎么办呢?
Does anyone know how to do it?
推荐答案
只需添加code在 onclickListener按钮
的事件,并设置计数器整数
在onclickListener当计数达到7,然后停止。在code是如下 -
just add the code in your onclickListener event of button
and set counter integer
in onclickListener when count reaches 7 then stop. The code is as below-
public class MainActivity extends AppCompatActivity {
int intCount=0;
int[] arr = new int[7];
final Button nextButton;
Random randomGenerator = new Random();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
nextButton = (Button)findviewbyid(R.id.button_next_num)
TextView tv_number_one = (TextView)findViewById(R.id.tv_number_one);
TextView tv_number_two = (TextView)findViewById(R.id.tv_number_two);
TextView tv_number_three = (TextView)findViewById(R.id.tv_number_three);
TextView tv_number_four = (TextView)findViewById(R.id.tv_number_four);
TextView tv_number_five = (TextView)findViewById(R.id.tv_number_five);
TextView tv_number_six = (TextView)findViewById(R.id.tv_number_six);
TextView tv_number_seven = (TextView)findViewById(R.id.tv_number_seven);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
intCount++; //when intCount becomes 7 stop execution
arr[intCount]= randomGenerator.nextInt(100) + 1;;
// intCount++; //when intCount becomes 7 stop execution
if(intCount == 1){tv_number_one.setText(arr[intCount]);}
else if(intCount == 2){tv_number_two.setText(arr[intCount]);}
else if(intCount == 3){tv_number_three.setText(arr[intCount]);}
else if(intCount == 4){tv_number_four.setText(arr[intCount]);}
else if(intCount == 5){tv_number_five.setText(arr[intCount]);}
else if(intCount == 6){tv_number_six.setText(arr[intCount]);}
else if(intCount == 7){tv_number_seven.setText(arr[intCount]);}
else{ intCount=0;nextButton.setEnabled(false);}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
这篇关于Android的随机序列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!