Java 简单语句赢了';我们不能通过环路吗?
一段时间以来,我一直在努力修正我的for声明,现在我不得不麻烦你们了 我正在读取一个.txt文件,将其数据存储到一个名为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
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
Movewriting.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
Movewriting.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()应该可以做到这一点