随机数 +冒泡排序求助!!!
import java.util.Random;
public class SC {
public static void main(String [] args){
int randomNum;
int [] b=new int[20];
for(int i=0;i<20;i++){
b[i]=0;
}
for(int i=0;i<20;i++){
for(int j=0;j<=i;j++){
randomNum=1+(int)(Math.random()*100);
if(b[j]==randomNum ){
break;
}
if(j==i){
b[j]=randomNum;
System.out.println("第"+(j+1)+"个整数是"+b[j]);
}
}
}
}
}
在本程序上,实现冒泡的正序排法,好心人帮帮忙,重赏!!!!
[解决办法]
N个数字来排队,两两相比小靠前;
外层循环N-1,内层循环N-1-i.
[解决办法]
你这随机真不太好看。
- Java code
import java.util.Arrays;import java.util.Random;public class SC{ public static void main(String[] args) { int randomNum; int[] b = new int[20]; for (int i = 0; i<20; i++) { b[i] = 0; } for (int i = 0; i<20; i++) { for (int j = 0; j<=i; j++) { randomNum = 1+(int) (Math.random()*100); if (b[j]==randomNum) { break; } if (j==i) { b[j] = randomNum; System.out.println("第"+(j+1)+"个整数是"+b[j]); } } } sort(b); } public static void sort(int[] array) { for(int i=0;i<array.length;i++) { for(int j=i+1;j<array.length;j++) { if(array[i]>array[j]) { int temp=array[i]; array[i]=array[j]; array[j]=temp; } } } System.out.println(Arrays.toString(array)); }}
[解决办法]
你的随机是要打算生成不重复的数?
- Java code
public static void main(String[] args) { int i=0; int[] b = new int[20]; Set set=new HashSet(); while(set.size()<20) { int randomNum=1+(int) (Math.random()*100); if(set.add(randomNum)) { b[i++]=randomNum; } } sort(b); } public static void sort(int[] array) { for(int i=0;i<array.length;i++) { for(int j=i+1;j<array.length;j++) { if(array[i]>array[j]) { int temp=array[i]; array[i]=array[j]; array[j]=temp; } } } System.out.println(Arrays.toString(array)); }
[解决办法]
for(int i=0;i<array.length;i++)
{
for(int j=i+1;j<array.length;j++)
{
if(array[j]>array[j+1])
{
int temp=array[j];
array[j+1]=array[j];
array[j]=temp;
}
}
}
System.out.println(Arrays.toString(array));
[解决办法]
import java.util.Random;
public class BubbleSort{
public static void main(String[] args){
Random rand=new Random();
int[] RandomNum=new int[20];
for(int i=0;i<RandomNum.length;i++){
RandomNum[i]=rand.nextInt()%100;
}
bubbleSort(RandomNum);
System.out.println("按升序:");
for(int i=0;i<RandomNum.length;i++){
System.out.print(RandomNum[i]+" ");
}
}
public static void bubbleSort(int[] RandomNum){
int temp=0;
for(int i=0;i<RandomNum.length-1;i++){
for(int j=0;j<RandomNum.length-1-i;j++){
if(RandomNum[j]>RandomNum[j+1]){
temp=RandomNum[j];
RandomNum[j]=RandomNum[j+1];
RandomNum[j+1]=temp;
}
}
}
}
}
[解决办法]
真心求教。我还刚学完基础java语法。