我有程序,其中4个随机数设置为4个按钮(每个按钮一个号码)。有两个随机变量(rbvalue和loadG4)。每个按钮的rbvalue编号不同,但loadG4值会覆盖按钮的值并替换它。这个想法是,没有一个rbvalue数字等于loadG4,并且程序的一部分确保它们永远不相等。这是代码:
Random GenerateG4 = new Random();
int loadG4 = GenerateG4.nextInt(10);
Random randoms1 = new Random();
final TextView number = (TextView) findViewById(R.id.number);
number.setText(""+loadG4);
for(int allrbA=0; allrbA<4; allrbA++) {
int rbvalue = randoms1.nextInt(10 - 1);
if (rbvalue==loadG4) rbvalue=9;
selectrb[allrbA].setText(""+rbvalue);
}
selectrb[rbselector].setText(""+loadG4);
使这项工作的部分是:
if (rbvalue==loadG4) rbvalue=9;
只需添加该行代码即可完成工作。现在,从0到9生成的所有数字中,只有一个是loadG4的值。这一行是怎么做到的?我一直认为在if (...)
之后必须有实际语句的大括号,例如if(...){System.out.println(&#34; ...&#34;)}为什么设置rbvalue到9?为什么随机rb值有(10 -1)?在这种情况下,-1甚至意味着什么?
我很感激能为我解决这个问题的人,谢谢。
答案 0 :(得分:0)
您可以将10 - 1
作为小学数学,它等于9,因此randoms1.nextInt(10 - 1)
会返回0到8之间的数字。我不知道为什么它不是9
。可能是试图强调该值比GenerateG4.nextInt(10)
中使用的值小1。
当if
条件为真时,只执行一条语句时,大括号是一个意见问题。很多人喜欢把它们放在那里;在我的工作场所,任何人都不会离开他们。
如果if
语句等于rbvalue
,则loadG4
语句将rbvalue
设置为9。这将确保价值观不同。由于rbvalue
最多为8,我们知道当它们相等时,将它们中的一个设置为9将确保它们变得不同。对我的口味来说有点微妙,我知道你需要问。
代码似乎无法使每个按钮的import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.telephony.SmsMessage;
import android.util.Log;
import android.widget.Toast;
public class IncomingSms extends BroadcastReceiver {
// Get the object of SmsManager
final SmsManager sms = SmsManager.getDefault();
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
final Bundle bundle = intent.getExtras();
try {
if (bundle != null) {
final Object[] pdusObj = (Object[]) bundle.get("pdus");
for (int i = 0; i < pdusObj.length; i++) {
SmsMessage currentMessage = SmsMessage
.createFromPdu((byte[]) pdusObj[i]);
String phoneNumber = currentMessage
.getDisplayOriginatingAddress();
String senderNum = phoneNumber;
String message = currentMessage.getDisplayMessageBody();
Log.i("SmsReciver", "senderNum: " + senderNum
+ ", message: " + message);
} // end of for loop
} // bundle
} catch (Exception e) {
// TODO: handle exception
Log.e("SmsReciver", "Exception smsReciver" + e);
}
}
}
数字不同。