Java 无法解析用于垃圾游戏的Android应用程序中的方法
我正在创建一个简单的掷骰子应用程序。Java 无法解析用于垃圾游戏的Android应用程序中的方法,java,android,methods,Java,Android,Methods,我正在创建一个简单的掷骰子应用程序。 我得到这个错误: 无法解析我的nextInt()方法和valueOf()方法的方法 我已将myResults变量声明为整数,因此我不确定为什么会出现此错误。当前,应用程序应该滚动模具并返回值。在解决此错误之前,我无法进入逻辑的其余部分。在继续之前,我想确保至少可以运行此部件。最终目标是掷两个骰子并返回两个骰子的总和,但我目前只为一个骰子掷编码。有人能给我指出正确的方向吗 public class MainActivity extends Activity {
我得到这个错误: 无法解析我的nextInt()方法和valueOf()方法的方法 我已将
myResults
变量声明为整数
,因此我不确定为什么会出现此错误。当前,应用程序应该滚动模具并返回值。在解决此错误之前,我无法进入逻辑的其余部分。在继续之前,我想确保至少可以运行此部件。最终目标是掷两个骰子并返回两个骰子的总和,但我目前只为一个骰子掷编码。有人能给我指出正确的方向吗
public class MainActivity extends Activity {
// my variables
TextView mText;
ImageButton mButton;
int myResults;
String output;
// function that runs on Start Up
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mText = (TextView)findViewById(R.id.results);
mButton = (ImageButton)findViewById(R.id.roll);
mButton.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
myResults = new Random(System.currentTimeMillis().nextInt(6)+1);
rollDice();
mText.setText(String.valueOF(myResults));
}
});
}
public void rollDice()
{
switch (myResults)
{
case 1:
mButton.setImageResource(R.drawable.die1);
break;
case 2:
mButton.setImageResource(R.drawable.die2);
break;
case 3:
mButton.setImageResource(R.drawable.die3);
break;
case 4:
mButton.setImageResource(R.drawable.die4);
break;
case 5:
mButton.setImageResource(R.drawable.die5);
break;
case 6:
mButton.setImageResource(R.drawable.die6);
break;
}
}
一旦这个问题得到解决,我想要一些关于将第二个骰子分解成我的结果的指导。但首先解决这些方法将是非常好的
错误位于:
myResults = new Random(System.currentTimeMillis().nextInt(6)+1);
rollDice();
mText.setText(String.valueOF(myResults));
System.currentTimeMillis()返回一个long
,它是一个原语,因此没有任何成员nextInt(…)
valueOF()
String.valueOF()
在您的代码中大写不正确(String.valueOF()
)
您还错误地使用了Random
nextInt()
方法System.currentTimeInMillis()
返回一个long
值,而nextInt()
需要一个Random
对象。正确使用nextInt()
的方法已在对此的回答中演示
您将)
放错了位置
myResults = new Random(System.currentTimeMillis().nextInt(6)+1);
应该是
myResults = new Random(System.currentTimeMillis()).nextInt(6)+1;
问题是,
第一名:
myResults = new Random(System.currentTimeMillis()).nextInt(6)+1;
mText.setText(String.valueOf(myResults));
秒:
myResults = new Random(System.currentTimeMillis()).nextInt(6)+1;
mText.setText(String.valueOf(myResults));
这样试试