android - 生成随机整数

标签 android

我正在尝试将我作为 int 的用户输入与随机 r 进行比较。但我收到类型不匹配错误。我尝试使用 Integer.parseint(r) 将 Random 解析为 int,但即使这样也给我一个类型不匹配错误。我在 game() 函数中执行所有这些操作。

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


    }
}

最佳答案

对于 make random int 你可以使用这个

Random r = new Random();

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

这会生成一个介于 10 到 100 之间的随机整数

一般使用 nextInt 来随机生成 两个数之间

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

我想我知道你想要什么

完整代码,首先生成一个随机整数a,点击button调用game,在game检查用户号码是否等于 a 然后显示消息并生成新号码 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");
        }
    }
}

» 有关 Android 中随机的更多信息,请访问此链接

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

关于android - 生成随机整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31635157/

相关文章:

ANDROID:如何为谷歌地图上的标记制作自定义 View (布局)

android - 访问单例内部的应用程序上下文

java - JAVA和SQL剩余时间怎么办?

Android:使用 com.google.firebase:firebase-auth:9.4.0 将 Android Studio 升级到 2.2 后,找不到 FirebaseUser、AuthCredential 和其他

android - FragmentTransaction 动画滑入顶部

android - 如何在android中的截击中发送参数数组

java - 尝试在空对象引用上调用虚拟方法 'void android.widget.TextView.append(java.lang.CharSequence)'

android - 导入 OpenIntents 以在 Android 应用程序中使用 OI 文件管理器

java - "void is an invalid type for the variable buttonOK"- 单击按钮后尝试关闭对话框

android - 使用 AccessibilityService Android 在 Chrome 中自动填充登录