随机数生成器问题 - Android Studio

时间:2016-10-18 20:28:29

标签: java android-studio random

我有一个随机数(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));

如果有人能告诉我导致此错误的原因以及解决方法,那将非常感激。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您需要更改条件。

  1. 要么颠倒if语句的顺序,要么

  2. 添加<条件也适用于if语句。

  3. 并且也使用其他。

            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);
            }