Java 简单语句赢了';我们不能通过环路吗?

Java 简单语句赢了';我们不能通过环路吗?,java,for-loop,Java,For Loop,一段时间以来,我一直在努力修正我的for声明,现在我不得不麻烦你们了 我正在读取一个.txt文件,将其数据存储到一个名为temp的数组中。我正在向该数组添加一个新字符串,然后将其保存回.txt文件。简单…我知道 我的代码如下: public static void main(String[] args) throws IOException { // Defining String token = ""; // Tokensize user input. Sc

一段时间以来,我一直在努力修正我的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();
    }
    }
}
publicstaticvoidmain(字符串[]args)引发IOException{
//定义
字符串标记=”;
//令牌大小用户输入。
扫描仪操作=新扫描仪(System.in);
字符串标记化=action.nextLine();
字符串[]tokenizes=tokenized.split(\\s”);
//读第一句的“问候语”部分。
//打开“greetings.txt”并将数据保存到数组中。
Scanner file1=新的扫描仪(新文件(“greetings.txt”);
List temp=new ArrayList();
while(file1.hasNext()){
token=file1.next();
临时添加(令牌);
}
临时添加(标记化);
file1.close();
系统输出打印项次(温度);
系统输出打印LN(温度获取(1));
系统输出打印LN(温度获取(2));
int arraylength=温度大小();
系统输出打印LN(排列长度);
//将用户的问候语写入.txt。
//覆盖旧的数组数据。
PrintWriter writing=新的PrintWriter(“问候语.txt”);
对于(int i=0;i
问题是,for循环只将
temp(0)
保存到
greetings.txt
文件中。它不是通过
i
循环到
arraylelength

Move
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
进入

for(int i=0;i
Move
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
进入

for(int i=0;i
在for循环中结束写入。在for循环之后移动writing.close()应该可以达到这个目的。

在for循环中结束写入。在for循环之后移动writing.close()应该可以做到这一点