Java 偶数打印问题
我这里有一个问题:我让这个程序打印所有偶数0到1000,但在一个朋友做了一些更改后,它现在只打印“0”。我已经使用它一段时间了,不知道它是循环问题还是打印问题。我从printWriter方法中取出了循环,但仍然一无所获。我到底做错了什么Java 偶数打印问题,java,loops,printwriter,Java,Loops,Printwriter,我这里有一个问题:我让这个程序打印所有偶数0到1000,但在一个朋友做了一些更改后,它现在只打印“0”。我已经使用它一段时间了,不知道它是循环问题还是打印问题。我从printWriter方法中取出了循环,但仍然一无所获。我到底做错了什么 import java.io.FileNotFoundException; import java.io.File; import java.io.PrintWriter; public class NumberWriter { public static
import java.io.FileNotFoundException;
import java.io.File;
import java.io.PrintWriter;
public class NumberWriter {
public static void main(String[] args) {
String fileName = "numbers.txt";
try {
PrintWriter outputStream = new PrintWriter(fileName);
for(int i = 0; i <= 1000; i++){
if (i%2==0){
outputStream.println(i + "");
outputStream.close();
}
}
}
catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
import java.io.FileNotFoundException;
导入java.io.File;
导入java.io.PrintWriter;
公共类编号编写器{
公共静态void main(字符串[]args){
字符串fileName=“numbers.txt”;
试一试{
PrintWriter outputStream=新的PrintWriter(文件名);
对于(int i=0;i请不要关闭(outputStream
),否则您将无法获得更多的输出。您的代码可以优化为增量2
,并绕过偶数测试(这是有效的,因为每个偶数都是2的倍数)。Java现在已经关闭了,因此您不必记得关闭PrintWriter
try (PrintWriter outputStream = new PrintWriter(fileName)) {
for(int i = 0; i <= 1000; i += 2){
outputStream.println(Integer.toString(i));
}
} catch (FileNotFoundException e) {
e.printStackTrace():
}
try(PrintWriter输出流=新的PrintWriter(文件名)){
对于(int i=0;i)您似乎刚刚关闭了if中的输出流。这是i+”
在那里做什么?您当然应该关闭它,只是还没有关闭。@DavidConrad+1 Oops。添加了尝试使用资源。为什么不直接使用println(i)
?它最终会调用Integer.toString(i)
)