基本上問題是在編譯運行并輸入輸入之后。僅創建一個文件。一切正常,除了當我輸入大于一的數字時。輸入大于 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
提交
取消