1.我正在尝试在Android工作室上创建一个更高或更低的游戏,并且由于某种原因它总是只进入第一个案例。 2.应用程序运行,但不会提供所需的输出。
package com.sanpochi.higherorlowergame;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import java.util.Random;
public class MainActivity extends AppCompatActivity {
int n;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Random rand = new Random();
int n = rand.nextInt(20)+1;
}
public void Guess(View view) {
EditText number = (EditText) findViewById(R.id.num);
int numb = Integer.parseInt(number.getText().toString());
if (n < numb) {
Toast.makeText(MainActivity.this, "Higher!", Toast.LENGTH_SHORT).show();
}
else if (n > numb) {
Toast.makeText(MainActivity.this, "Lower!", Toast.LENGTH_SHORT).show();
}
else
Toast.makeText(MainActivity.this, "You are correct!! Congrats!", Toast.LENGTH_SHORT).show();
}
}
}
答案 0 :(得分:1)
从此行中删除int int n = rand.nextInt(20)+1;
让它成为
n = rand.nextInt(20)+1;
onCreate中生成的随机数不会在public void Guess(View view){}中使用,因为变量n的范围受到限制。
答案 1 :(得分:0)
......由于某种原因,它总是只进入第一种情况。
在WHERE中使用函数Guess()
?怎么知道这个? onCreate
函数几乎与您的主要想法无关。
问题2是由同一个问题完成的。