Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 随机数生成器-Android-xxx已停止工作_Java_Android_Random_Numbers_Generator - Fatal编程技术网

Java 随机数生成器-Android-xxx已停止工作

Java 随机数生成器-Android-xxx已停止工作,java,android,random,numbers,generator,Java,Android,Random,Numbers,Generator,} 我没有收到任何错误,因此eclipse允许我运行程序,但当它即将执行时,它会给我一个错误,说“不幸的是,程序名已停止” 我做错了什么?我非常感谢您的洞察力。将所有这些 public class MainActivity extends Activity { int minValue; int maxValue; int rndNum; TextView rndNumText = (TextView) findViewById(R.id.Number); EditText MinVal =

}

我没有收到任何错误,因此eclipse允许我运行程序,但当它即将执行时,它会给我一个错误,说“不幸的是,程序名已停止”


我做错了什么?我非常感谢您的洞察力。

将所有这些

public class MainActivity extends Activity {

int minValue;
int maxValue;
int rndNum;

TextView rndNumText = (TextView) findViewById(R.id.Number);
EditText MinVal = (EditText) findViewById(R.id.editTextMin);
EditText MaxVal = (EditText) findViewById(R.id.editTextMax);
Button btnRandom = (Button) findViewById(R.id.Randomize);

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

    btnRandom.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v){
            minValue = Integer.parseInt(MinVal.getText().toString());
            maxValue = Integer.parseInt(MaxVal.getText().toString());
            Random r = new Random();
            rndNum = r.nextInt(maxValue - minValue + 1) + minValue;
            rndNumText.setText(Integer.toString(rndNum));
        }
    });
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

setContextView()
之后的
onCreate
中,否则视图尚未初始化并提供id。

请发布错误日志。很抱歉,我对android有点陌生。我知道了如何让logcat工作,但我应该复制/粘贴它的哪些部分?当我尝试执行代码时,有100多行代码lolI尝试了这一点,它给了我更多的错误,比如“不能引用在不同方法中定义的内部类中的非最终变量MinVal”“不能引用在不同方法中定义的内部类中的非最终变量MaxVal”“无法在另一个方法中定义的内部类中引用非最终变量rndNumText”@user3124331将声明保留在该方法之外,以便它们是实例变量。只需在内部初始化它们即可。哇,它现在起作用了!!!TY!我不明白为什么会发生这种情况(在外部声明和初始化内部,而不是在子程序中做这两件事)@用户取决于您希望变量拥有的范围。通过,也可以考虑接受答案。
TextView rndNumText = (TextView) findViewById(R.id.Number);
EditText MinVal = (EditText) findViewById(R.id.editTextMin);
EditText MaxVal = (EditText) findViewById(R.id.editTextMax);
Button btnRandom = (Button) findViewById(R.id.Randomize);