0

我正在尝试创建一个程序,该程序从文件中选择一个随机单词并根据单词的长度输出正确的空格数。例如,如果单词是 smart,则程序输出 _ _ _ _ _。这是程序:

    import java.util.*;
    import java.io.*;
    public class Selection {
        public static void main(String[] args) throws IOException {
        String[] words = new String[100];
        Scanner in = new Scanner(new FileReader("words.txt"));
        for (int i = 0; i < 100; i++)
                words[i] = in.next();
        Random r = new Random();
        int selected = r.nextInt[100];
        String sWord = words[selected];

        for (int j = 0; j < sWord.length(); j++)
                System.out.printf("_");

        in.close();
}
}

这是错误:

    java:18: error: cannot find symbol
    int selected = r.nextInt[100];
                    ^
    symbol:   variable nextInt
    location: variable r of type Random
    1 error

任何有助于理解我没有正确做的事情将不胜感激。

4

3 回答 3

3
 int selected = r.nextInt[100];// use () r.nextInt(num);
于 2014-03-30T18:03:44.823 回答
1
int selected = r.nextInt[100];

你的问题在这里,你试图访问变量 nextInt 像一个数组,但它是一个函数。

正确的方法是:

int selected = r.nextInt(100);

您使用括号是因为您将值 100 作为参数传递。

于 2014-03-30T18:06:48.887 回答
0

抱歉,由于某些原因,这里的格式不适合我

你有

int selected = r.nextInt[100];

代码应该是

int selected = r.nextInt(100);

原因是您使用 [] 表示数组, () 调用对象上的方法。

例如,
如果你想创建一个数组,你可以

int[] arr = new int[100]; // 创建一个有足够存储空间来容纳 100 个 int 的数组

以下将失败

int() arr = new int(arr); // fail!

另一方面,
如果你这样做

Random r = new Random(); // it works!

但以下会失败

Random r = new Random[]; // fail!
于 2014-03-30T19:35:01.907 回答