【问题标题】:How to update a textView from a questions Database randomly without knowing the total number of questions如何在不知道问题总数的情况下随机从问题数据库中更新 textView
【发布时间】:2015-04-08 02:35:30
【问题描述】:

我有一个抽认卡应用程序,它应该显示来自用户提供的数据库中的随机问题(因此我们没有问题的项目总数)。我使用了一个参数 z,它是运行时项目数的计数,我使用了 Random() 方法,但每次它都会给我一个 IllegalArgumentException。这是我的代码如何计算参数z:

while (resId1 != 0) {

        resId1 = getApplicationContext().getResources().getIdentifier(
                fquest + num1, "string", getPackageName());
        z = z + 1;
        num1 = num1 + 1;
    }

此代码运行良好,但以下代码包含异常,如果您不介意,我希望您能提供帮助,这里是错误代码:

Random r1 = new Random(z);
    num1 = r1.nextInt(z);
    num1 = num1 + 1;

    resId1 = getApplicationContext().getResources().getIdentifier(
            fquest + num1, "string", getPackageName());
    quest1 = getResources().getString(resId1);
    q.setText(quest1);

IllegalArgumentException 正是在这一行:

num1 = r1.nextInt(z);

请帮忙。

【问题讨论】:

    标签: java android random textview


    【解决方案1】:

    根据文档,如果你传入一个

    【讨论】:

    • 是的 z 在所有情况下都是 >=1
    【解决方案2】:

    Random(long seed) 采用 long 参数,而 nextInt(int bound) 采用 int 参数。您将变量 z 传递给他们两个,并且由于 nextInt 发生异常,因此 z 必须是一个长值。要么将其转换为带有 num1 = r1.nextInt((int)z); 的 int,要么创建一个新的整数值来表示您的上限。

    【讨论】:

      猜你喜欢
      • 2018-11-11
      • 2019-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-03
      • 2020-03-09
      • 1970-01-01
      相关资源
      最近更新 更多