2017-01-09 17 views
-3

Это фрагмент моего кода. Этот оператор if позволяет мне читать из файла, а затем выбирает случайное слово из файла и использует оператор печати, и он печатает слово.Использование оператора печати для возврата переменной в Java?

Проблема, с которой я столкнулся, заключается в том, чтобы иметь возможность получить слово, которое оно выбирает, а затем использовать его в приведенном ниже примере выражения String []. Я знаю, что у меня в "{}" не так, но просто для того, чтобы лучше понять, что я пытаюсь сделать.

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)}; 
+0

Где ваша Defringion ArrayList? –

+1

Ваша переменная 'randomIndex' ограничена стороной, из которой вы хотите использовать команду. Сделайте ее доступной, поместив ее в тот же или родительский блок. –

+0

Почему 'guess' объявлен как массив String, когда это действительно просто' String', т. Е. Слово для угадывания? – Andreas

ответ

1
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 }; 

Вы, вероятно, будет лучше со списком, а не массив, но это зависит от того, что вы делаете.

+0

этот код тоже ошибается! –

+0

@TedTrippin, вы легенда, что он делает то, что мне нужно, теперь так благодарим вас –