2018年安徽省大数据比赛MapReduce题目解答第一题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_41479464/article/details/101922339

1、编写自动脚本,在0-100的范围内生成随机整数,共生成5万个数字,以英文逗号进行分隔(5分):

看了参考答案我发现参考答案写的很麻烦,但是也比较中规中矩,考虑了一些可能是工作上面的问题,而我能想的就是简单快速,拿分。

自己代码:

import java.io.FileNotFoundException;
import java.io.FileOutputStream;

import java.io.PrintStream;
import java.util.Random;

public class random_demo {
	public static void main(String[] args) throws FileNotFoundException  {
		PrintStream ps = new PrintStream(new FileOutputStream("random.txt"));
		System.setOut(ps);
		Random rd = new Random();
		for (int i=0;i<5000;i++){
			int randomNumber = (int)(Math.random()*100);
			if(i==0){
				System.out.print(randomNumber);
			}else{
				System.out.print(","+randomNumber);
			}	
		}
	}
}

参考答案代码:

import java.io.*;
import java.util.Random;
public class MakeDataTest {	
	public static void main(String[] args)	{
		String filepath ="/opt/data/";	
		filepath +="/data.txt";
		System.out.println(filepath);		
		try 
		{
			File file = new File(filepath);			
			if(!file.exists())
			{	//如果不存在data.txt文件则创建
				file.createNewFile();
				System.out.println("data.txt创建完成");				
			}
			FileWriter fw = new FileWriter(file);		//创建文件写入
			BufferedWriter bw = new BufferedWriter(fw);
			
			//产生随机数据,写入文件
			Random random = new Random();
			for(int i=0;i<50000;i++)
			{	
				int randint =(int)Math.floor((random.nextDouble()*100.0));	//产生0-100之间随机数		
				if(i==0)
					bw.write(String.valueOf(randint));		//写入一个随机数
				else
					bw.write(","+String.valueOf(randint));
				//bw.newLine();		//新的一行
			}
			bw.close();
			fw.close();
			
		} 
		catch (Exception e) 
		{
			e.printStackTrace();
		}		
	}	
}

猜你喜欢

转载自blog.csdn.net/qq_41479464/article/details/101922339
今日推荐