在Java中使用print语句返回变量?

在Java中使用print语句返回变量?,java,arraylist,system.out,Java,Arraylist,System.out,这是我的代码片段。这个if语句允许我从文件中读取,然后从文件中随机选取一个单词,并使用print语句将单词打印出来 我面临的问题是,我需要能够获得它选择的单词,然后能够在下面的String[]guess语句中使用它。我知道我在“{}”中所做的是错误的,但这只是为了更好地了解我正在尝试做什么 if (choose==1) { System.out.println("you choose easy\n"); FileReader file = new FileReader("fil

这是我的代码片段。这个if语句允许我从文件中读取,然后从文件中随机选取一个单词,并使用print语句将单词打印出来

我面临的问题是,我需要能够获得它选择的单词,然后能够在下面的String[]guess语句中使用它。我知道我在“{}”中所做的是错误的,但这只是为了更好地了解我正在尝试做什么

if (choose==1) {
    System.out.println("you choose easy\n");

    FileReader file = new FileReader("file1.txt");//first file
    BufferedReader reader = new BufferedReader(file);

    while((reader.readLine()) != null)
        array.add(reader.readLine());

    int randomIndex = random.nextInt(array.size());//randomly pick a word
    System.out.println(array.get(randomIndex));// randomly print a word
    reader.close();
}

String[] guess = {array.get(randomIndex)};

您最好使用列表,而不是数组,但这取决于您在做什么。

您对ArrayList的定义在哪里?您的
随机索引
变量仅限于要在中使用的语句的块外端。通过将其放在同一块或父块中使其可访问。为什么
guess
声明为字符串数组,而实际上它只是一个
String
,也就是要猜测的单词?java不是我的强项,但这就是我如何声明它的ArrayList array=new ArrayList();请注意,写下你们对ArrayList的定义。这段代码也会出错@TedTrippin你是一个传奇它正在做我需要的事情现在就做谢谢你
String word = null;
if (choose==1) {
    System.out.println("you choose easy\n");

    // Use try-with-resources so it auto closes
    try (
      FileReader file = new FileReader("file1.txt");
      BufferedReader reader = new BufferedReader(file); ) {

      while((reader.readLine()) != null)
        array.add(reader.readLine());

      // randomly pick a word
      int randomIndex = random.nextInt(array.size());
      word = array.get(randomIndex);

      // print the word
      System.out.println(word);
    } catch (IOException ex) {
      ex.printStackTrace();
    }
}

String[] guess = new String[] { word };