一个字符串中的多个单词?

时间:2015-11-25 12:02:23

标签: java

我正在尝试创建一个刽子手程序,其中的单词已经设置在开头,用户必须尝试猜测它们。

但是我正在努力弄清楚如何将这些单词分开以便我可以让程序随机选择其中一个。

我尝试将以下单词声明为字符串,如何选择一个而不是全部,或者这是否正确?

此外我只启动了java,所以我只能使用if语句等,看到一些人使用数组,但我不能使用它们,因为这是一个项目,我不应该知道如何。

String words = "cat:dog:hat:sat:mat:rat";

3 个答案:

答案 0 :(得分:1)

由于您不允许使用数组,您可以先创建一个随机数,然后根据结果选择其中一个字符串。

Random random = new Random();
int outcome = random.nextInt(6); // 6 being the number of different words
String word = "";
if (outcome == 0)
    word = "cat";
else if (outcome == 1)
    word = "dog";
...

在此word之后将为您随机选择单词java。

但正如其他人所说,这只适用于不能使用数组的情况。通常,您可以使用split方法并选择其中一个元素,或者您将单独的文件作为行,然后随机选择文档中的一行。

第二种方法的优点是可以在不改变程序的情况下添加新单词。

另外,在不使用数组的情况下,甚至可以读取文档的特定行以获取其内容。您可以使用答案here并随机调用readLine,然后将其返回的字符串作为单词。

答案 1 :(得分:0)

有一个split函数,它将一个模式作为输入并返回一个字符串数组。请参阅documentation

这是一个例子

String words = "cat:dog:hat:sat:mat:rat";
String[] array = words.split(":");

答案 2 :(得分:0)

分割功能适用于:

String[] str_array = "name:score:abc".split(":");

您将使用变量并为其分配结果字符串索引以获取特定单词。

    String stringa = str_array[0]; 
    String stringb = str_array[1];
    String stringc = str_array[2];