java随机产生一组不重复的数
importjava.util.*;publicclassni{publicstaticvoidmain(String[]args){int[]a=newint[5];f...
import java.util.*;
public class ni{
public static void main(String[] args){
int []a=new int[5];
for(int i=0;i<a.length;i++){
a[i]=(int)(Math.random()*10+1);
System.out.println(a[i]+"\t");
}
}
}
在上面加一段判断是否重复的代码。别写难了.我才学java没几天..难了看不懂..谢谢了. 展开
public class ni{
public static void main(String[] args){
int []a=new int[5];
for(int i=0;i<a.length;i++){
a[i]=(int)(Math.random()*10+1);
System.out.println(a[i]+"\t");
}
}
}
在上面加一段判断是否重复的代码。别写难了.我才学java没几天..难了看不懂..谢谢了. 展开
3个回答
展开全部
import java.util.*;
public class ni{
public static void main(String[] args){
int[] a=new int[5]; //定义数组
for(int i=0;i<a.length;i++){ //通过循环给数组赋值
if(i==0){ //个数组第一位赋值不会重复
a[i]=(int)(Math.random()*10+1);
}else{ //如果不是给a[0]赋值就要判断是否与前面的重复
int n=(int)(Math.random()*10+1); //令n等于一个随机数
for(int j=0;j<i){ //通过循环来判断是否重复
if(a[j]==n){ //前面已经有了n这个数(不能再写入数组了)
n=(int)(Math.random()*10+1);//重新给n赋值
j=0; //让j=0;重新检测n值与前面写入的数是否相同
}
} //程序运行到这里表示n与前面写入的i个数都不同
a[i]=n; //所以把n写入数组的第n项
}
System.out.println(a[i]+"\t");//输出数组
}
}
}
我回答问题的时候,该问题还有14天23个小时,看这样子楼主已经提问很久了,快些来处理啊!!
public class ni{
public static void main(String[] args){
int[] a=new int[5]; //定义数组
for(int i=0;i<a.length;i++){ //通过循环给数组赋值
if(i==0){ //个数组第一位赋值不会重复
a[i]=(int)(Math.random()*10+1);
}else{ //如果不是给a[0]赋值就要判断是否与前面的重复
int n=(int)(Math.random()*10+1); //令n等于一个随机数
for(int j=0;j<i){ //通过循环来判断是否重复
if(a[j]==n){ //前面已经有了n这个数(不能再写入数组了)
n=(int)(Math.random()*10+1);//重新给n赋值
j=0; //让j=0;重新检测n值与前面写入的数是否相同
}
} //程序运行到这里表示n与前面写入的i个数都不同
a[i]=n; //所以把n写入数组的第n项
}
System.out.println(a[i]+"\t");//输出数组
}
}
}
我回答问题的时候,该问题还有14天23个小时,看这样子楼主已经提问很久了,快些来处理啊!!
展开全部
循环前面的数
一个个的看是否相同。。有相同的就重新来。。
int[] a = new int[5];
for (int i = 0; i < a.length; i++) {
boolean flag = false;
do {
flag = false;
int num = (int) (Math.random() * 10 + 1);
for (int j = 0; j < i; j++) {
if (num == a[j]) {
flag = true;
break;
}
}
if (!flag) {
a[i] = num;
}
} while (flag);
System.out.println(a[i] + "\t");
}
一个个的看是否相同。。有相同的就重新来。。
int[] a = new int[5];
for (int i = 0; i < a.length; i++) {
boolean flag = false;
do {
flag = false;
int num = (int) (Math.random() * 10 + 1);
for (int j = 0; j < i; j++) {
if (num == a[j]) {
flag = true;
break;
}
}
if (!flag) {
a[i] = num;
}
} while (flag);
System.out.println(a[i] + "\t");
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public static void main(String[] args) {
Set<Integer> data = new HashSet<Integer>();
while (data.size() < 5) {
data.add((int) (Math.random() * 10 + 1));
}
System.out.println(data);
}
楼主你可以自己写如果产生的随机数在数组中存在你就可以把i-1从新在产生一个随机数 这给你个思路建议自己写
Set<Integer> data = new HashSet<Integer>();
while (data.size() < 5) {
data.add((int) (Math.random() * 10 + 1));
}
System.out.println(data);
}
楼主你可以自己写如果产生的随机数在数组中存在你就可以把i-1从新在产生一个随机数 这给你个思路建议自己写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询