Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Generating a Random int

Tags:

android

I am trying to compare a user input that i have as int with a Random r. But i am getting type mismatch errors. I tried parsing the Random as int by using Integer.parseint(r) but even that gives me a type mismatch error. I am doing all this in the game() function.

package com.myapplication;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

import java.util.Random;


public class MainActivity extends ActionBarActivity {

    @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);
    }



    public void game(View view) {
        int a = 73;
        TextView textv = (TextView) findViewById(R.id.textView2);
        EditText editText = (EditText) findViewById(R.id.editText);
        String eText=editText.getText().toString();

        int guess = Integer.parseInt(eText);

        if (guess == a){

            textv.setText("You Won");
            Random r = new Random();
            a = Integer.parseInt(r);

        }
        else if(guess < a){

            textv.setText("Higher");
        }

        else if (guess > a){

            textv.setText("Lower");
        }


    }
}
like image 255
nabeel Avatar asked Jan 07 '23 22:01

nabeel


1 Answers

for make random int you can use this

Random r = new Random();

int a = r.nextInt((100-10)+1)+10;

this generate a random int between 10 to 100

In general use nextInt like this for make random between two number

r.nextInt((max-min)+1)+min;

I think I know what you want

full code,first generate a random int a and when click in button call game,in game check if the user number equal to a then show message and generate new number else ...

public class MainActivity extends ActionBarActivity {

    EditText editText;

    Random r = new Random();
    int a;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_send);

        /*--------Generate First Random int--------*/
        a = r.nextInt((100-10)+1)+10;
        Log.i("LOG", "Random --> " + a);
        /*-----------------------------------------*/

        editText =(EditText) findViewById(R.id.editText);

        Button button=(Button) findViewById(R.id.button);

        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                game(arg0);
            }
        });
    }

    public void game(View view) {

        TextView textv = (TextView) findViewById(R.id.textView2);
        String eText=editText.getText().toString();

        int guess = Integer.parseInt(eText);

        if (guess == a){

            textv.setText("You Won");
            a = r.nextInt((100-10)+1)+10;
        }
        else if(guess < a){

            textv.setText("Higher");
        }

        else if (guess > a){

            textv.setText("Lower");
        }
    }
}

» for more info about Random in Android go to this link

http://developer.android.com/reference/java/util/Random.html

like image 184
sadegh Avatar answered Jan 18 '23 14:01

sadegh