Java 按升序排列随机数组,不带数组。排序
我试图在不使用array.sort的情况下对随机数数组进行排序。我有密码,但不起作用。不确定错误在哪里。感谢您的任何帮助Java 按升序排列随机数组,不带数组。排序,java,Java,我试图在不使用array.sort的情况下对随机数数组进行排序。我有密码,但不起作用。不确定错误在哪里。感谢您的任何帮助 import java.util.*; public class Sort { public static void main(String args[]) { Scanner in = new Scanner(System.in); System.out.print("How many numbers do you want?
import java.util.*;
public class Sort
{
public static void main(String args[])
{
Scanner in = new Scanner(System.in);
System.out.print("How many numbers do you want? ");
int howMany = in.nextInt();
int [] myArray = getRandomArray(howMany);
}
/* public static int bsearch(int[] arr, int key)
{
}*/
public static int[] getRandomArray(int howMany) {
int[] returnMe = new int[howMany]; // Assume size >= 0
Random rand = new Random();
for (int i = 0; i < howMany ; i++)
returnMe[i] = rand.nextInt(Integer.MAX_VALUE) + 1;
//System.out.print(returnMe[i] + " ");
for (int i = 1; i <= (howMany - 1); i++)
{
for (int j = 0; j < howMany - i -1; j++)
{
int tmp = 0;
if (returnMe[j] > returnMe[j+1])
{
tmp = returnMe[j];
returnMe[j] = returnMe[j + 1];
returnMe[j + 1] = tmp;
}
}
}
for ( int i = 0; i < howMany; i++)
System.out.println(returnMe[i] + " ");
return returnMe;
}
}
import java.util.*;
公共类排序
{
公共静态void main(字符串参数[])
{
扫描仪输入=新扫描仪(系统输入);
System.out.print(“您想要多少个数字?”);
int howMany=in.nextInt();
int[]myArray=getRandomArray(多少);
}
/*公共静态int-b搜索(int[]arr,int-key)
{
}*/
公共静态int[]getRandomArray(int多少){
int[]returnMe=new int[howMany];//假设大小>=0
Random rand=新的Random();
for(int i=0;i<多少;i++)
returnMe[i]=rand.nextInt(Integer.MAX_值)+1;
//System.out.print(returnMe[i]+“”);
for(int i=1;i返回我[j+1])
{
tmp=returnMe[j];
returnMe[j]=returnMe[j+1];
returnMe[j+1]=tmp;
}
}
}
for(int i=0;i<多少;i++)
System.out.println(returnMe[i]+“”);
还给我;
}
}
您的线路
for (int j = 0; j < howMany - i -1; j++)
for(int j=0;j
应该是
for (int j = 0; j <= howMany - i -1; j++)
for(int j=0;j“不工作”确切地说是指什么?不编译?编译但不运行?编译并运行会发出错误(哪个?)或其他不正确的输出?它编译、运行并给出输出,但不是按升序(只是随机顺序)@johnbollinger您确实意识到,您需要做的不仅仅是将您的类命名为“Sort”要让它执行实际排序?因为我看不到任何可以进行任何排序的内容。@DiabolicWords我使用的是BlueJ,它不是按升序排序。@JohnBollinger我在getRandomArray方法中有编码,它是气泡排序方法。你说它错了吗?很乐意帮助:)。此外,您可以考虑将该方法重命名为CyReaDeMatoStReDARRY,因为CyReaDeaMoRoad暗示它将是一个尚未排序的数组。然而,这只是为了让代码更易于阅读和理解(如果您不只是为自己编写代码,这实际上是非常重要的)。