如何提示用户输入数字以获取数组大小。然后使用冒泡排序方法排序数组

时间:2016-03-25 18:04:08

标签: java arrays sorting bubble-sort

很长一段时间没有练过Java,所以任何帮助都会受到赞赏。

对于类项目,我们必须创建一个程序,提示用户输入数字并创建数组的大小。在输入之后,我们将在排序之前显示数字列表,并在使用冒泡排序算法对其进行排序后显示列表。

这是我到目前为止所拥有的。我知道我错过了一大堆代码,这样我就可以在排序前后打印清单,但我输了。

import java.util.Scanner;
public class Part1BubbleSort  
{
public static void main(String[] args) 
{
    //int temp = 0;

    Scanner scan = new Scanner(System.in);
    int z = scan.nextInt();
    int [] array = new int[z];
    System.out.print("Please enter a number to create array."+"\n");
    z = scan.nextInt();

    //Bubble Sort
    for(int i = array.length-1; i>=0; i--)
    {
        for(int j=0; j<i; j++)
        {
            if(array[j] > array[j+1])
            {
                int temp = array[j];
                array[j] = array[j+1];
                array[j+1] = temp;
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

你可以这样做:

import java.util.Arrays;
import java.util.Scanner;
import java.util.Random;
public class BubbleTest {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("Please enter a number to create array."+"\n");
        int z = scan.nextInt();
        int [] array = new int[z];
        // Randomly generating array elements

        for(int i =0; i<z; i++){
            array[i]=new Random().nextInt();
        }
      //  z = scan.nextInt();
        System.out.println("Unsorted:");
        System.out.println(Arrays.toString(array));


        //Bubble Sort
        for(int i = array.length-1; i>=0; i--)
        {
            for(int j=0; j<i; j++)
            {
                if(array[j] > array[j+1])
                {
                    int temp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = temp;
                }
            }
        }

        System.out.println("sorted:");
        System.out.println(Arrays.toString(array));
    }

}