我有一个随机数(loadG1),在用户按下EditText后输出。我在定时器末尾附近添加了一些if语句,以确保根据用户的分数输出一些特定的数字长度。每次输入与loadG1匹配时,它们都会添加一个点。我的问题是有时在3点之前输出的random(> = 0),我得到一个六位数字。这只是在他们有3分或更多分时才会发生。这也发生在其他阶段,例如:意味着由8输出的7位数。该模式似乎几乎完美,但有时会为该用户的分数输出超过限制的一位数。从来没有减少一个数字,但要么是正确的数量,要么是一个数字。
以下是代码:
$data = $_POST['deleteIndex'];
$file = file_get_contents('comments.json');
$json = json_decode($file, true); //return an array
unset($json[$data]); // I guess you want to delete the value by key
file_put_contents('comments.json', json_encode($json));
如果有人能告诉我导致此错误的原因以及解决方法,那将非常感激。提前谢谢。
答案 0 :(得分:0)
您需要更改条件。
要么颠倒if语句的顺序,要么
添加<条件也适用于if语句。
并且也使用其他。
if (score>=10){
int loadG1 = generateG1.nextInt(99999999)+10000000;
number.setText(""+loadG1);
}
else if (score>=6){
int loadG1 = generateG1.nextInt(9999999)+1000000;
number.setText(""+loadG1);
}
else if (score>=3){
int loadG1 = generateG1.nextInt(999999)+100000;
number.setText(""+loadG1);
}else if (score>=0) {
int loadG1 = generateG1.nextInt(99999)+10000;
number.setText(""+loadG1);
}
或
if (score>=0 && score<3) {
int loadG1 = generateG1.nextInt(99999)+10000;
number.setText(""+loadG1);
}
else if (score>=3 && score<6){
int loadG1 = generateG1.nextInt(999999)+100000;
number.setText(""+loadG1);
}
else if (score>=6 && score<10){
int loadG1 = generateG1.nextInt(9999999)+1000000;
number.setText(""+loadG1);
}
else if (score>=10){
int loadG1 = generateG1.nextInt(99999999)+10000000;
number.setText(""+loadG1);
}