2016-10-01 41 views
0

应用程序的目的非常简单。要求用户输入一个号码并检查用户号码和随机创建的号码是否相同。直到用户输入正确的号码,它才会继续。一旦用户输入正确的号码,我如何更改我的随机号码,以便他们可以继续而不必退出应用程序。现在我必须退出,一旦找到正确的号码,并再次打开它。
public class MainActivity extends AppCompatActivity {intl number; //全局Variabble。返回原始开始位置,不退出应用程序并再次打开它

public void clicked (View view){ 
     EditText userinput = (EditText)findViewById(R.id.userinput); 
     String inputstring = userinput.getText().toString(); 
     if (inputstring == " "){ 
      Toast.makeText(getApplicationContext(),"You havent entered anything",Toast.LENGTH_SHORT).show(); 
    } 

    int inputint = Integer.parseInt(inputstring); 

    if (inputint > number){ 
     Toast.makeText(getApplicationContext(),"No, too high",Toast.LENGTH_SHORT).show(); 
    } 
    else if (inputint < number){ 
     Toast.makeText(getApplicationContext(),"No, too small",Toast.LENGTH_SHORT).show(); 
    } 
    else{ 
     Toast.makeText(getApplicationContext(),"Well Done! You Guessed it",Toast.LENGTH_SHORT).show(); 

    } 

     //System.out.println("Computer guessed number is: " + number); 
} 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    Random r = new Random(); 
    number = r.nextInt(21); 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 

}

+0

把你的随机数逻辑的方法调用它,只要你想 –

回答

1

你可以试试像这样的随机功能

public void randomGenerator() 
{ 
    Random r = new random 
    number = r.nextInt(21) //put the int number creation in global 
} 

然后调用它在的onCreate()

@Override 
protected void onCreate(Bundle savedInstanceState) { 

    randomGenerator() 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 

也在else语句

else{ 
     Toast.makeText(getApplicationContext(),"Well Done! You Guessed it",Toast.LENGTH_SHORT).show(); 

     randomGenerator(); //random number after user get correct answer 

    } 
+1

你不觉得,这个逻辑需要全局编号字段 –

+0

是的,我不这么想。它必须首先在全球范围内创建 –

0

你可以把

Random r = new Random(); number = r.nextInt(21); userinput.setText("");

的功能,并调用它时,你的目的是呼吁第一次(在上创建),然后重新校准它当使用发现好号码