最近学校有个比赛,需要使用大量的随机数据,我虽然没参加,不过尝试编写了一个批量的成绩生成器
//因为时间(懒)的原因,没写异常处理模块,喵~ //随机中文姓名可用int到char的强制转换,或另写个函数, //将姓和名保存在两个数组中随机配对 import java.io.*; import java.util.Scanner; public class Test { public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); double dataNumber, fileNumber; String disk = null, frontNumber, item1, item2, item3; System.out.println("===JAVA成绩生成器==="); System.out.println("===请勿输入过大的数==="); TestBufferedWriter tbw = new TestBufferedWriter(); boolean check = false; while (!check) { System.out.println("请输入保存的盘符(单字母):"); disk = sc.next(); check = tbw.listSysRoot(disk); } System.out.println("请输入文件个数:"); fileNumber = sc.nextDouble(); System.out.println("请输入每个文件数据个数:"); dataNumber = sc.nextDouble(); System.out.println("请输入学号前缀:"); frontNumber = sc.next(); System.out.println("请输入科目1:"); item1 = sc.next() + ":"; System.out.println("请输入科目2:"); item2 = sc.next() + ":"; System.out.println("请输入科目3:"); item3 = sc.next() + ":"; for (int j = 1; j <= fileNumber; j++) { String content = ""; String temp[] = new String[(int) dataNumber]; for (int i = 1; i <= (int) dataNumber - 1; i++) { System.out.println("正在创建第[" + j + "]" + "个文件的第[" + i + "]个数据!"); temp[i] = temp[i - 1] + "学号: " + frontNumber + j + i + (int) (Math.random() * 10000) + item1 + (int) (Math.random() * 100) + item2 + (int) (Math.random() * 100) + item3 + (int) (Math.random() * 100) + "# \n"; } content = temp[(int) dataNumber - 2]; String Filename = disk + "://" + "test" + j + ".txt"; FileOutputStream out = new FileOutputStream(Filename); out.write(content.getBytes()); out.close(); } } public boolean listSysRoot(String disk) { File[] roots = File.listRoots(); int i; for (i = 0; i < roots.length; i++) { if ((disk.toUpperCase() + ":\\"). equals(roots[i].toString())) return true; } System.out.print("您输入有误,可用的盘符有:"); for (i = 0; i < roots.length; i++) { System.out.print(roots[i] + " "); } return false; } }