import java.util.*;
import java.io.FileWriter;
public class HomeWork03 {
public static void main(String[] args)throws Exception {
int[] A10 = new int[10];
for (int i = 0; i < A10.length; i++) {
// 调用功能
int num = getRandom(100, 500);
A10[i] = num;
System.out.println(num);//正确。
}
// (1)把数组中大于等于200的数字放到一个list集合中,并打印到控制台。
List<Integer> list = change(A10);
System.out.printf("list集合:");
System.out.println(list);
// (2)把数组中小于200的数字放到一个map集合中,并打印到控制台。
Map<String, Integer> map = new HashMap<String, Integer>();
System.out.printf("map集合:");
for (int i : A10) { //遍历循环
if (i < 200) {
Integer value = map.put("haha", i);
// value = map.put("HAHA", i);
System.out.println(map);//printf不适用,print,println可以。
// System.out.println(value);若是一个新的key,则返回值为null。
}
}
//(3)把数组中的数字放到当前文件夹的number.txt中.
FileWriter f = new FileWriter("D:\\A10.txt");
for (int i=0;i<A10.length;i++){
f.write(A10[i]+",");
}
f.close();
}
public static List<Integer> change(int[] arr){
List<Integer> list = new ArrayList<>();
for (int i:arr) { //遍历循环
if(i>=200)
list.add(i);
}
return list;
}
public static int getRandom(int start, int end) {
//Math.random() 产生 [0,1)范围的数字。 假设你要生成 20~50之间的整数
// (end-start+1)表示该范围内有多少数字,可以表示到[start,end]
// 若是(end-start)只可以表示到[start,end);
// 你可以这么样做 [0~1)*30+20 等价于 [0*30~1*30)+20 也就等价于[0+20 ~ 30+20)
// <=>[20,50).
int number = (int) (Math.random() * (end - start + 1)) + start;
return number;
}
}
产生10个100-500的随机数放到一个数组中。把数组中大于等于200的数字放到一个list集合中;把数组中小于200的数字放到一个map集合中;把数组中的数字放到当前文件夹的number.txt中
最新推荐文章于 2023-03-03 11:32:04 发布