gpt4 book ai didi

java - 简单的 for 语句不会继续循环?

转载 作者:行者123 更新时间:2023-12-02 03:45:11 26 4
gpt4 key购买 nike

我已经尝试修复我的 for 语句有一段时间了,现在我不得不打扰你了!

我正在读取一个 .txt 文件,并将其数据存储到名为 temp 的数组中。我向该数组添加一个新字符串,然后将其保存回 .txt 文件。简单……我知道!

我的代码如下:

public static void main(String[] args) throws IOException {

// Defining
String token = "";

// Tokensize user input.
Scanner action = new Scanner(System.in);
String tokenized = action.nextLine();
String[] tokenizes = tokenized.split("\\s");

// Read the 'greetings' part of the first sentence.

// Open 'greetings.txt' and save data to an array.
Scanner file1 = new Scanner(new File("greetings.txt"));
List<String> temp = new ArrayList<String>();
while (file1.hasNext()) {
token = file1.next();
temp.add(token);
}
temp.add(tokenized);
file1.close();

System.out.println(temp);
System.out.println(temp.get(1));
System.out.println(temp.get(2));

int arraylength = temp.size();

System.out.println(arraylength);

// Write the users greetings into the .txt.
// Overwrite old greetings array data.
PrintWriter writing = new PrintWriter("greetings.txt");

for (int i = 0; i < arraylength; i++) {
writing.println(temp.get(i));
writing.write("\n");
writing.close();
}
}
}

问题是,for 循环仅将 temp(0) 保存到 greetings.txt 文件中。它不是从 i 循环到 arraylength

最佳答案

writing.close(); 移出 for 循环。在您提供的代码中,您在第一次迭代中关闭了打印编写器(实际上,您在每次迭代中调用 writer.close() )。即改变

for (int i = 0; i < arraylength; i++) {
writing.println(temp.get(i));
writing.write("\n");
writing.close();
}

进入

for (int i = 0; i < arraylength; i++) {
writing.println(temp.get(i));
writing.write("\n");
}
writing.close();

关于java - 简单的 for 语句不会继续循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36358510/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com