亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 for 循環和 PrintWriter,如何創建多個隨機命名的文件

使用 for 循環和 PrintWriter,如何創建多個隨機命名的文件

喵喵時光機 2023-09-13 10:14:56
基本上問題是在編譯運行并輸入輸入之后。僅創建一個文件。一切正常,除了當我輸入大于一的數字時。輸入大于 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);

        ...

    }

}


查看完整回答
反對 回復 2023-09-13
  • 1 回答
  • 0 關注
  • 85 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號