Java 按升序排列随机数组,不带数组。排序

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?

我试图在不使用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? ");
        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暗示它将是一个尚未排序的数组。然而,这只是为了让代码更易于阅读和理解(如果您不只是为自己编写代码,这实际上是非常重要的)。