JavaSE-P7
编程题:
1:获取10个1-20之间的随机数,要求不能重复
package myRandom;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
/**
* 2:获取10个1-20之间的随机数,要求不能重复
* @author 花花
*
*/
public class UniqueRandom {
public static void main(String[] args) {
int number;
Collection c=new ArrayList();
for(int i=0;i<10;i++) {
number=1+(int)(Math.random()*20);
if(!c.contains(number)) //确保没有重复的元素
{
c.add(number);
}
}//for循环结束
System.out.println(c);
}//main结束
/*
* 运行结果:
* [14, 17, 15, 19, 20, 8, 13]
*/
}
方式二:
package myRandom;
import java.util.Random;
/**
* 1:获取10个1-20之间的随机数,要求不能重复
*
* Random:产生一个随机数的类:
*
* 构造方式:
* public Random()创建一个新的随机数生成器:默认种子不给定long类型的时间毫秒值
* 成员方法:
* public int nextInt():由随机数生成器调用这个方法,随机数的范围在int类型的范围之内
* public int nextInt(int n):生成随机数的范围:[0,n):使用比较多
* @author 花花
*
*/
public class RandomClass {
public static void main(String[] args) {
Random r=new Random();
for(int i=1;i<=10;i++) {
int number=r.nextInt(20)+1;
System.out.print(number+" ");
}
}
}
2:键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值
package collection;
import java.util.Comparator;
import java.util.Scanner;
import java.util.TreeSet;
/**
* 2:键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值
* @author 花花
*
*/
public class DataInput {
public static void main(String[] args) {
TreeSet<Integer> al=new TreeSet<Integer>(new Comparator<Integer>() {
@Override
public int compare(Integer n1, Integer n2) {//升序排列
int num=n1-n2;
return num;
}
});
System.out.println("请输入数据(以0结束):");
Scanner sc=new Scanner(System.in);
int a;
while((a=sc.nextInt())!=0) {
al.add(a);
}
/*
for(Integer i:al) {
System.out.println(i);
}*/
System.out.println("最大数为"+al.last());//升序排列后,此集合中最后一个元素就是最大的
}
}