前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Java随机生成前N个不重复的整数

Java随机生成前N个不重复的整数

原创
作者头像
用户7999227
修改于 2021-09-24 02:40:20
修改于 2021-09-24 02:40:20
1.5K00
代码可运行
举报
文章被收录于专栏:Java小王子Java小王子
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import java.io.BufferedOutputStream;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStream;

import java.util.Random;
/**

测试随机生成前N个不重复的整数 
@author Administrator 
*/

public class TestRandom {

 public static void main(String[] args) {

 randomNumber2File("e:/random.txt");  
 
}
/**

根据提供的路径生成相应的随机数 
@param path 
*/

public static void randomNumber2File(String path){

 File file = new File(path);

 OutputStream os = null;

 try {

 os = new BufferedOutputStream(new FileOutputStream(file));  
 byte[] buf = new byte[20];  
 for(int j = 0; j < 100; j++){  
     int[] arr = ranInt(9);  
     StringBuffer sb = new StringBuffer();  
     for(int i = 0; i < arr.length; i++){  
         sb.append(arr[i]);  
     }  
     sb.append("\r\n");  
     buf = sb.toString().getBytes();  
     os.write(buf);  
 }  
 
} catch (FileNotFoundException e) {

 e.printStackTrace();  
 
} catch (IOException e) {

 e.printStackTrace();  
 
}finally{

 if(null != os){  
     try {  
         os.close();  
     } catch (IOException e) {  
         // TODO Auto-generated catch block  
         e.printStackTrace();  
     }  
 }  
 
}

}
/**

利用随机生成数组的索引实现随机,并通过交换实现不重复 
@param n 
@return 
*/

public static int[] ranInt(int n) {

 int[] arr = new int[n];

 int i,randomIndex,temp;

 for(i = 0; i < n; i++){

 arr[i] = i+1;  
 
}

 for(i = 1; i < n; i++){

 randomIndex = ranIndex(0, i);  
 //交换当前元素和生成的随机元素  
 temp = arr[i];  
 arr[i] = arr[randomIndex];  
 arr[randomIndex] = temp;  
 
}

 return arr;

}
public static int ranIndex(int start, int end){

 Random r = new Random();

 int result;

 result = r.nextInt(end);

 return result;

}

}  </pre> 

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
简单的 http 服务器
项目路径:https://github.com/windwant/windwant-demo/tree/master/httpserver-demo
WindWant
2020/09/11
1.7K0
务实java基础之IO
“对语言设计人员来说,创建好的输入/输出系统是一项特别困难的任务。”由于存在大量不同的设计方案,所以该任务的困难性是很容易证明的。其中最大的挑战似乎是如何覆盖所有可能的因素。不仅有三种不同的种类的 IO 需要考虑(文件、控制台、网络连接),而且需要通过大量不同的方式与它们通信(顺序、随机访问、二进制、字符、按行、按字等等)。 Java 库的设计者通过创建大量类来攻克这个难题。事实上, Java 的 IO 系统采用了如此多的类,以致刚开始会产生不知从何处入手的感觉,本篇博客我们就来详细学习Java的IO 系统。
老马的编程之旅
2022/06/22
2590
务实java基础之IO
java中IO流详细解释?
BufferedReader的readLine()&BufferedWriter的newLine()方法
技术从心
2019/08/07
1.8K0
Java 持久化操作之 --io流与序列化
1)File类操作文件的属性 1.File类的常用方法 1. 文件的绝对完整路径:getAbsolutePath() 文件名:getName() 文件相对路径:getPath() 文件的上一级目录:g
房上的猫
2018/04/10
1.1K0
Java 持久化操作之 --io流与序列化
手把手教你完成App支付JAVA微信支付
这篇内容看标题已经很明确了,由于微信是用xml通讯的,所以这一点比较恶心,各位可能需要在项目里导入一些解析xml的包。 首先放出工具类(包含支付宝用到的工具类),因为现在csdn下载都是扣积分的,因为工具类代码会在文尾贴出。
Java编程指南
2019/08/02
2.4K0
手把手教你完成App支付JAVA微信支付
Java 文件 IO 操作
InputstreamReader 用于将一个字节流中的字节解码成字符 OutputstreamWriter 用于将写入的字符编码成字节后写入一个字节流
Michael阿明
2021/09/06
6570
Java的文件读写操作
当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStreamReader和BufferedReader。其中最重要的类是InputStreamReader, 它是字节转换为字符的桥梁。你可以在构造器重指定编码的方式,如果不指定的话将采用底层操作系统的默认编码方式,例如GBK等。使用FileReader读取文件:
全栈程序员站长
2022/09/17
1.2K0
Java的文件读写操作
Java程序员的日常—— IOUtils总结
以前写文件的复制很麻烦,需要各种输入流,然后读取line,输出到输出流...其实apache.commons.io里面提供了输入流输出流的常用工具方法,非常方便。下面就结合源码,看看IOUTils都有什么用处吧! 代码参考https://github.com/xinghalo/JDK-Learning 常用的静态变量 在IOUtils中还是有很多常用的一些变量的,比如换行符等等 public static final char DIR_SEPARATOR_UNIX = '/'; public sta
用户1154259
2018/01/17
2.5K0
java开发_读写txt文件操作
========================================================
Hongten
2018/09/13
2.3K0
java开发_读写txt文件操作
14:IO之字符字节流
字节流: InputStream    OutputStream  字节流:  FileInputStream FileOutputStream BufferedInputStream BufferedOutputStream 字符流: Writer Reader FileReader FileWriter BufferedReader BufferedWriter 第一  IO流概述 一、概述: IO流是来处理设备间的数据传输 1、特点: 1)流操作按照数据可分为字节流(处理所有的数据)和字符流(处理文
六月的雨
2018/05/14
8360
Android 关于文件及文件夹的创建 、删除、重命名、复制拷贝
zhangjiqun
2024/12/16
1870
使用FFmpeg进行视频抽取音频,之后进行语音识别转为文字
工程组件gradle依赖: 语音识别使用 百度api;需引入 compile 'com.baidu.aip:java-sdk:3.2.1'
JQ实验室
2022/02/09
5.1K0
Java基础知识梳理 ——— IO流
利用 Java IO 你可以访问文件与目录,以及如何以文本格式和二进制格式来读写数据。
求和小熊猫
2020/11/25
5260
Java标准I/O流编程一览笔录
Java标准I/O知识体系图: 1、I/O是什么? I/O 是Input/Output(输入、输出)的简称,输入流可以理解为向内存输入,输出流是从内存输出。 2、流 流是一个连续的数据流,可以从流中读
斯武丶风晴
2018/03/01
2.2K0
Java标准I/O流编程一览笔录
java请求C# asmx接口[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/145055.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/26
8650
java IO流详尽解析「建议收藏」
流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。 IO流的分类
全栈程序员站长
2022/08/31
7420
java IO流详尽解析「建议收藏」
Java第四周总结
开发中会使用大量相同数据类型的情况。如果使用数组来解决问题 1. 数组能够使用的方法非常少,功能方法需要程序员自己完成。 2. 数据类型单一化,不支持多种情况。 3. 数组容量不可以更改。
用户7073689
2020/03/18
8310
通过Java代码自动发布Geoserver的地图服务WMS
GeoServer 顾名思义。是一个Server,它是开源的,允许用户查看和编辑地理数据的服务器,它可以比较容易的在用户之间迅速共享空间地理信息。利用Geoserver可以把数据作为maps/images来发布(利用WMS来实现)也可以直接发布实际的数据(利用WFS来实现),它同时也提供了修改,删除和新增的功能(利用WFS-T)。
我叫刘半仙
2019/03/12
4.1K2
通过Java代码自动发布Geoserver的地图服务WMS
Java IO流学习总结三:缓冲流-BufferedInputStream、BufferedOutputStream
Java IO流学习总结一:输入输出流 Java IO流学习总结二:File Java IO流学习总结三:缓冲流-BufferedInputStream、BufferedOutputStream Java IO流学习总结四:缓冲流-BufferedReader、BufferedWriter Java IO流学习总结五:转换流-InputStreamReader、OutputStreamWriter Java IO流学习总结六:ByteArrayInputStream、ByteArrayOutputStream Java IO流学习总结七:Commons IO 2.5-FileUtils
全栈程序员站长
2022/11/01
9000
Java IO流学习总结三:缓冲流-BufferedInputStream、BufferedOutputStream
Java IO结构各种流详解
花了两天时间研究了一下Java IO的流,对于各种流,加深了一下理解 首先看我做的思维导图 文件流 public class FileIO { public static void mai
汤高
2018/01/11
2.2K0
Java IO结构各种流详解
相关推荐
简单的 http 服务器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验