新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
数组去重有两个选择:
站在用户的角度思考问题,与客户深入沟通,找到祁东网站设计与祁东网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、网站设计、外贸网站建设、企业官网、英文网站、手机端网站、网站推广、域名注册、虚拟空间、企业邮箱。业务覆盖祁东地区。
一、编写判断语句
如果没有,添入数组,如果有,不添入数组。
System.out.println("How many numbers? ");
Scanner key = new Scanner(System.in);
int n = key.nextInt();
int[] all = new int[n];
int allNum=0;
boolean flag;
for (int num = 0; num n; num++) {
flag=true;
int random = (int) (Math.random() * n);
System.out.print(random + " ");
//循环判断元素与random是否重复
for (int mark = 0; mark all.length; mark++) {
if (random == all[mark]) {
flag=false;
}
}
//如果不重复添入数组里
if(flag){
all[allNum]=random;
allNum++;
}
}
System.out.println();
//如果有一个重复的数字,数组后面就会多一个0,现在要去除0
int[] allTrue=Arrays.copyOf(all, allNum);
//输入 最后去重以后的数组
for (int num = 0; num allNum; num++) {
System.out.print(allTrue[num]+" ");
}
二、使用Set集合去重
Scanner scanner = new Scanner(System.in);
System.out.print("输入字符串:");
String str = scanner.nextLine();
ListMap mapList = new ArrayList();
int length = str.length();
for(int i = 0;i length;i++){
int x = (int)(Math.random()*length);
Map map = new HashMap();
map.put("sort",x);
map.put("value",str.charAt(i));
mapList.add(map);
}
System.out.print("输出随机变换后的结果:");
mapList.stream()
.sorted(Comparator.comparing(o - o.get("sort").toString()))
.forEach(x- System.out.print(x.get("value").toString()));
System.out.println();
取一个随机数,这个数就是你目标串的长度n
然后取n个随机数,取模到数组长度,然后合起来就完了....