有人能解释一下为什么System.out.println("Doesn't repeat: "+a[i]);
不打印任何东西吗?
import java.util.Arrays;
import java.util.Random;
public class Practice {
public static void main(String[] args) {
int []a=new int[100];
Random rand =new Random();
for(int i=0;i<100;i++)
{
a[i]=rand.nextInt((100-1)+1)+1;
}
Arrays.sort(a);
for(int i=0;i<100;i++)
{
System.out.print(a[i]+ " ");
}
boolean flag;
System.out.print(" ");
System.out.print(" ");
for(int i=0;i<100;i++)
{
flag=false;
for(int j=0;j<100;j++)
{
if(a[i]==a[j])
{
flag=true;
break;
}
}
if(flag==false)
{
System.out.println("Doesn't repeat: "+a[i]);
}
}
}
}
我只得到当前100个元素的数组,元素不会出现两次或更多的行不会出现。
编辑:
import java.util.Arrays;
import java.util.Random;
public class Practice {
public static void main(String[] args) {
int []a=new int[100];
Random rand =new Random();
for(int i=0;i<100;i++)
{
a[i]=rand.nextInt((100-1)+1)+1;
}
Arrays.sort(a);
for(int i=0;i<100;i++)
{
System.out.print(a[i]+ " ");
}
boolean flag;
System.out.print(" ");
System.out.print(" ");
for(int i=0;i<100;i++)
{
flag=false;
for(int j=0;j<100;j++)
{
if (i==j) {
continue;
}
else if(a[i]==a[j])
{
flag=true;
break;
}
}
if(flag==false)
{
System.out.println("Doesn't repeat: "+a[i]);
}
}
}
}
到目前为止,这是我能得到的最好的结果,但是代码排除了相等的元素,即使它们是唯一的。
https://stackoverflow.com/questions/54011557
复制相似问题