package cn.itcast.javaee;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
public class Demo02 {
public static void main(String[] args) throws Exception {
/* 3.产生10个1-100的随机数,并放到一个数组中
(1)把数组中大于等于10的数字放到一个list集合中,并打印到控制台。
(2)把数组中小于10的数字放到一个map集合中,并打印到控制台。
(3)把数组中的数字放到当前文件夹的D://number.txt文件中*/
// 需求: 去除数组中重复的数字
// --->第一:HashSet 问题:数字会无序
//--> 再搞一个List 1.遍历数组 2.list.contains() 包含不包含这个元素 -->
//如果包含 不添加
//如果不包含 添加
int [] arr = new int [10];
for(int x = 0 ;x < 10; x++){
int random = new Random().nextInt(100) + 1;//生成0-99 的数 要求是1-100所以+1
arr[x] = random; //将随机数赋值给数组
}
putValueToList(arr);
writeArrToFile(arr);
}
private static void writeArrToFile(int[] arr) throws Exception {
BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\number.txt"));
for (int temp : arr) {
bw.write(temp+"");// 数字+ 字符串 ---> 变成字符串,也能用toString()方法
}
bw.close();
}
private static void putValueToList(int[] arr) {
List<Integer> list = new ArrayList<Integer>();
Map<Integer,Integer> map = new HashMap<Integer,Integer>();
int count = 0;
for(int temp : arr){
if(temp < 10){
//遍历出来的数字小于10
map.put(++count,temp);
}else{
//遍历出来的数字大于10
list.add(temp);
}
}
}
} |