我应该创建一个文件(已完成,它被称为“factoriales.txt”)并在其中打印10的值! (这是3628800),事情是,我似乎无法将值写入文件。我已经知道如何写文字,但这不会工作....这就是我到目前为止所做的。请帮忙!
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class D09T9e2
{
public static void main(String[] args)
{
try
{
File fac = new File("factoriales.txt");
if (!fac.exists())
{
fac.createNewFile();
}
System.out.println("The file has been created.");
int r = 1;
for (int i = 1; i<=10; i--)
{
r = r * i;
}
FileWriter write = new FileWriter(fac);
write.write(""+r);
write.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
这是我在这里解决它的方式,感谢这里的每个人,我希望你喜欢这个简单的方法:
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class D09T9e2
{
public static void main(String[] args)
{
try
{
File fac = new File("factoriales.txt");
if (!fac.exists())
{
fac.createNewFile();
}
System.out.println("\n----------------------------------");
System.out.println("The file has been created.");
System.out.println("------------------------------------");
int r = 1;
FileWriter wr = new FileWriter(fac);
for (int i = 1; i<=10; i++)
{
r = r * i;
wr.write(r+System.getProperty( "line.separator" ));
}
wr.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
答案 0 :(得分:2)
原因是什么
for (int i = 1; i<=10; i--)
运行到无穷大,因为1不能减少到10
应该是
for (int i = 1; i<=10; i++)
并将数据类型更改为长
答案 1 :(得分:1)
更改for循环:
这
for (int i = 1; i<=10; i--)
到
for (int i = 1; i<=10; i++)
你会得到正确的结果。
尝试并继续。
答案 2 :(得分:1)
public static void main(String[] args)
{
try
{
File fac = new File("c:\\bea\\factoriales.txt");
if (!fac.exists())
{
fac.createNewFile();
}
System.out.println("The file has been created.");
int r = 1;
FileWriter write = new FileWriter(fac);
write.write("");
for (int i = 1; i<=10; i++)
{
r = r * i;
write.append(r + "\n");
}
write.flush();
write.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
输出:
1
2
6
24
120
720
5040
40320
362880
3628800
答案 3 :(得分:0)
如果您想以文本格式保存数字,请使用PrintWriter,它有编写数字的方法。