喵喵時(shí)光機(jī)
2023-09-13 10:14:56
基本上問(wèn)題是在編譯運(yùn)行并輸入輸入之后。僅創(chuàng)建一個(gè)文件。一切正常,除了當(dāng)我輸入大于一的數(shù)字時(shí)。輸入大于 1 的數(shù)字應(yīng)該允許我擁有多個(gè)文件,每個(gè)文件都根據(jù)我的理解生成隨機(jī)名稱,對(duì)吧?相反,它選擇只創(chuàng)建一個(gè)具有隨機(jī)名稱的文件,并正常執(zhí)行所有操作,除了創(chuàng)建我告訴它的幾個(gè)額外文件。這是為了個(gè)人娛樂(lè),我使用 notepad++ 創(chuàng)建它,然后在命令提示符中使用 javac 和 java 編譯并運(yùn)行它。我基本上是用幾天前在課堂上學(xué)到的東西來(lái)創(chuàng)建這個(gè),加上我必須研究的很多額外的東西,但我真的想知道如何做到這一點(diǎn),但在for 循環(huán),這就是我想要的方式。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" + 假設(shè)您在控制臺(tái)中輸入了值 3。然后我希望它創(chuàng)建三個(gè)單獨(dú)的文件,每個(gè)文件中都有我告訴它寫(xiě)入文件的代碼。不應(yīng)出現(xiàn)任何錯(cuò)誤消息,但只為我創(chuàng)建了一個(gè)文件,而不是 3 個(gè)。
1 回答

茅侃侃
TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超22個(gè)贊
您需要在for循環(huán)的每次迭代中生成一個(gè)新的隨機(jī)文件名。正如所寫(xiě)的,您的程序生成一個(gè)隨機(jī)文件名,并在每次迭代中使用相同的名稱。
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);
...
}
}
添加回答
舉報(bào)
0/150
提交
取消