首页 » 原创 » 正文

[原创]使用java生成大量随机数据存盘的demo

最近学校有个比赛,需要使用大量的随机数据,我虽然没参加,不过尝试编写了一个批量的成绩生成器
//因为时间(懒)的原因,没写异常处理模块,喵~
//随机中文姓名可用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;
	}

}

发表评论