基本上问题是在编译运行并输入输入之后。仅创建一个文件。一切正常,除了当我输入大于一的数字时。输入大于 1 的数字应该允许我拥有多个文件,每个文件都根据我的理解生成随机名称,对吧?相反,它选择只创建一个具有随机名称的文件,并正常执行所有操作,除了创建我告诉它的几个额外文件。这是为了个人娱乐,我使用 notepad++ 创建它,然后在命令提示符中使用 javac 和 java 编译并运行它。我基本上是用几天前在课堂上学到的东西来创建这个,加上我必须研究的很多额外的东西,但我真的想知道如何做到这一点,但在for 循环,这就是我想要的方式。import java.util.Scanner;import java.io.PrintWriter;import java.io.FileNotFoundException;public class rangen { static String getnumlet(int n) { String numlet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqr" + "stuvwxyz0123456789"; StringBuilder sb = new StringBuilder(n); for (int i = 0 ; i < n ; i++) { int index = (int)(numlet.length() * Math.random()); sb.append(numlet.charAt(index)); } return sb.toString(); } public static void main(String[] args) { final int length = 10; int amount = 0; String printername = (rangen.getnumlet(length) + ".java"); String name = (printername.substring(0 , printername.indexOf('.')).trim()); Scanner input = new Scanner(System.in); PrintWriter tofile = null; System.out.print("Enter the amount of files you want to create: "); amount = input.nextInt(); for (int i = 1 ; i <= amount ; i++) { try { tofile = new PrintWriter(printername); tofile.print("// Creator: Unknown...\n"); tofile.print("// Date Created: 9-28-2019\n"); tofile.print("// Last Modified: 9-28-2019\n"); tofile.print("// Description: This file was \n" + 假设您在控制台中输入了值 3。然后我希望它创建三个单独的文件,每个文件中都有我告诉它写入文件的代码。不应出现任何错误消息,但只为我创建了一个文件,而不是 3 个。
1 回答
茅侃侃
TA贡献1842条经验 获得超21个赞
您需要在for循环的每次迭代中生成一个新的随机文件名。正如所写的,您的程序生成一个随机文件名,并在每次迭代中使用相同的名称。
for (int i = 1 ; i <= amount ; i++) {
String printername = (rangen.getnumlet(length) + ".java");
String name = printername.substring(0, printername.indexOf('.')).trim();
try {
tofile = new PrintWriter(printername);
...
}
}
添加回答
举报
0/150
提交
取消