Android的随机序列 [英] android random array

查看:143
本文介绍了Android的随机序列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想改变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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆