在Java中使用print语句返回变量?
这是我的代码片段。这个if语句允许我从文件中读取,然后从文件中随机选取一个单词,并使用print语句将单词打印出来 我面临的问题是,我需要能够获得它选择的单词,然后能够在下面的String[]guess语句中使用它。我知道我在“{}”中所做的是错误的,但这只是为了更好地了解我正在尝试做什么在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 (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 };