class MyRandom
{
public static void main(String args[])
{
int c=0;
int b[]=new int[15];
for(int i=0;i<15;i++) b[i]=0;
while(c<15)
{
int num=(int) ( Math.random()*100+1 ); //加 ( )
for(int j=0;j<=c;j++)
if(b[j]==num)
break;
if( j == c )
{ b[j]=num;c=c+1;}
}
} }
{
public static void main(String args[])
{
int c=0;
int b[]=new int[15];
for(int i=0;i<15;i++) b[i]=0;
while(c<15)
{
int num=(int) ( Math.random()*100+1 ); //加 ( )
for(int j=0;j<=c;j++)
if(b[j]==num)
break;
if( j == c )
{ b[j]=num;c=c+1;}
}
} }
if(b[j]!=num) {b[j]=num;c=c+1;}这两句的问题太大了,你的b[j]不论j等于几的时候,只要不和num相等就一直在做等于num。
估计你的程序到最后b数组里面的数全一样.楼上的就是在j==c,的时候在帮b[j]赋值
class Test{
public static void main(String args[]){
HashSet set = new HashSet();
Random rand = new Random();
while(set.size()<15)set.add(rand.nextInt(100));
System.out.println(set);
}
}
* MyRandom.java v 1.0 08/30/2004
* 程序功能:生成15个不同的1到100之间的随机整数并依次打印出来
*/public class MyRandom
{
public static void main( String args[] )
{
int randomNum; // 随机整数
int b[] = new int[ 15 ]; // 用来存储生成的15个随机整数 // 初始化数组
for ( int i = 0; i < 15; i++ )
{
b[ i ] = 0;
} // 生成15个不同的1到100之间的随机整数,并依次打印
for ( int i = 0; i < 15; i++ )
{
// 生成一个符合要求的数,并将其存入数组
for ( int j = 0; j <= i; j++ )
{
// 产生一个1到100之间的随机整数
randomNum = 1 + (int)( Math.random()*100 ); // 如果生成了相同的数,则跳出,重新生成
if ( b[ j ] == randomNum )
{
break;
} // 整数符合要求,存入数组
if( j == i )
{
b[ j ] = randomNum;
}
} // 打印出此次生成的数
System.out.println( "第" + (i + 1) + "个整数是: " + b[ i ] );
}
}
}
* MyRandom.java v 1.0 08/30/2004
* Copyright (c) Ardor
* 程序功能:生成15个不同的1到100之间的随机整数并依次打印出来
*/public class MyRandom
{
public static void main( String args[] )
{
int randomNum; // 随机整数
int b[] = new int[ 15 ]; // 用来存储生成的15个随机整数 // 初始化数组
for ( int i = 0; i < 15; i++ )
{
b[ i ] = 0;
} // 生成15个不同的1到100之间的随机整数,并依次打印
for ( int i = 0; i < 15; i++ )
{
// 生成一个符合要求的数,并将其存入数组
for ( int j = 0; j <= i; j++ )
{
// 产生一个1到100之间的随机整数
randomNum = 1 + (int)( Math.random()*100 ); // 如果生成了相同的数,则跳出,重新生成
if ( b[ j ] == randomNum )
{
break;
} // 整数符合要求,存入数组
if( j == i )
{
b[ j ] = randomNum;
}
} // 打印出此次生成的数
System.out.println( "第" + (i + 1) + "个整数是: " + b[ i ] );
}
}
}
* MyRandom.java v 1.0 08/30/2004
* Copyright (c) Ardor
* 程序功能:生成15个不同的1到100之间的随机整数并依次打印出来
*/public class MyRandom
{
public static void main( String args[] )
{
int randomNum; // 随机整数
int b[] = new int[ 15 ]; // 用来存储生成的15个随机整数 // 初始化数组
for ( int i = 0; i < 15; i++ )
{
b[ i ] = 0;
} // 生成15个不同的1到100之间的随机整数,并依次打印
for ( int i = 0; i < 15; i++ )
{
// 生成一个符合要求的数,并将其存入数组
for ( int j = 0; j <= i; j++ )
{
// 产生一个1到100之间的随机整数
randomNum = 1 + (int)( Math.random()*100 ); // 如果生成了相同的数,则跳出,重新生成
if ( b[ j ] == randomNum )
{
break;
}
if( j == i )
{
b[ j ] = randomNum; // 整数符合要求,存入数组
// 打印出此次生成的数
System.out.println( "第" + ( j + 1 ) + "个整数是:"
+ b[ j ] );
}
}
}
}
}