【问题标题】:Randomly displaying strings -随机显示字符串 -
【发布时间】:2011-05-13 16:38:17
【问题描述】:

我有一组标记为 st1、st2、st3 等的字符串...直到 st9。我想要一种方法,根据随机生成的数字随机显示其中一个字符串...有人可以告诉我如何做到这一点吗?

谢谢!

【问题讨论】:

  • 这个问题你要问多少次?您已经在其他线程中提出过这个问题和其他相关问题,并收到了这些问题的答案。

标签: android arrays string random


【解决方案1】:

您需要将它们放在一个数组中并访问您生成的随机数告诉您的数组成员。

Android一般指java所以:

import java.util.Random

Random rand = new Random();


String[] myarray = new String[]{st1, st2, st3, st4, st5, st6, st7, st8, st9};
int myrand = rand.nextInt(8);
System.out.println(myarray[myrand]);

请原谅我有任何小的语法错误,我已经有一段时间没有用 Java 编程了。

【讨论】:

  • 对不起,这是在android编程中。
  • 你会不会碰巧在常规代码中有一个简单的例子?即:如何在机器人中调用一个?非常感谢!
  • 我更新了这篇文章,假设您使用的是 java,这是 Android 平台上最常用的语言。
  • 太棒了,谢谢!我需要一种从我的 strings.xml 文件中调用字符串的方法吗?我将它们全部列出并标记在那里,但我的所有 st 字符串下都有错误...我需要 R.string.st1、R.string.st2 等...吗?
  • 提供的示例假定 st1..st9 都作为 String 对象存在。如果您将它们作为不同的东西,那么您自然需要转换它们。
【解决方案2】:

将您的字符串放入一个数组中,在零和字符串数组长度之间选择一个随机整数,然后使用该数字对数组进行索引。

【讨论】:

  • 虽然我没有数组,但我有一堆单独的字符串,我写的都标记了不同的东西=x
  • 是的,我在发布后就意识到,这就是我编辑答案的原因。那么就不能使用字符串数组了吗?
  • 对不起,我对android中的数组不太熟悉,你能给我举个例子吗?
  • 你可以选择一个介于 0 到 8 之间的随机 i,然后访问变量 ("st" + str(i+1))?对不起,愚蠢的问题,但我对安卓一无所知
【解决方案3】:

如果您在 strings.xml 中定义了一组字符串,那么它看起来更像这样:

import java.util.Random

Random rand = new Random();

int[] myarray = new int[]{
   R.strings.my_string_1,
   R.strings.my_string_2,
   R.strings.my_string_3,
   R.strings.my_string_4
};
int myrand = rand.nextInt(myarray.length-1);
System.out.println(getText(myarray[myrand]));

这假设您在Activity 中执行此操作,其中getText 方法可用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-08
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多