Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何提示用户输入一个数字以获得数组的大小。然后使用气泡排序方法对数组进行排序_Java_Arrays_Sorting_Bubble Sort - Fatal编程技术网

Java 如何提示用户输入一个数字以获得数组的大小。然后使用气泡排序方法对数组进行排序

Java 如何提示用户输入一个数字以获得数组的大小。然后使用气泡排序方法对数组进行排序,java,arrays,sorting,bubble-sort,Java,Arrays,Sorting,Bubble Sort,我已经很长时间没有使用Java了,希望您能提供帮助 对于类项目,我们必须创建一个程序,提示用户输入一个数字并创建数组的大小。输入后,我们将显示排序前的数字列表,以及使用气泡排序算法排序后的列表 这是我到目前为止所拥有的。我知道我丢失了一段代码,这样我可以在排序之前和之后打印列表,但是我丢失了 import java.util.Scanner; public class Part1BubbleSort { public static void main(String[] args) {

我已经很长时间没有使用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;
            }
        }
    }
}
import java.util.Scanner;
公共类第1部分气泡排序
{
公共静态void main(字符串[]args)
{
//内部温度=0;
扫描仪扫描=新扫描仪(System.in);
int z=scan.nextInt();
int[]数组=新的int[z];
System.out.print(“请输入一个数字以创建数组。”+“\n”);
z=scan.nextInt();
//气泡排序
对于(int i=array.length-1;i>=0;i--)
{
对于(int j=0;j数组[j+1])
{
int temp=数组[j];
数组[j]=数组[j+1];
阵列[j+1]=温度;
}
}
}
}

您可以执行以下操作:

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));
    }

}
导入java.util.array;
导入java.util.Scanner;
导入java.util.Random;
公共类泡泡测试{
公共静态void main(字符串[]args){
扫描仪扫描=新扫描仪(System.in);
System.out.println(“请输入一个数字以创建数组。”+“\n”);
int z=scan.nextInt();
int[]数组=新的int[z];
//随机生成数组元素
对于(int i=0;i=0;i--)
{
对于(int j=0;j数组[j+1])
{
int temp=数组[j];
数组[j]=数组[j+1];
阵列[j+1]=温度;
}
}
}
System.out.println(“排序:”);
System.out.println(array.toString(array));
}
}

您只需要输入两个数字,第一个是大小,可以,但第二个z从未使用过。如果您想让用户也输入数组元素,那么您应该将
array[i]=scan.nextInt()在for循环中,其中i:0->z。要打印数组,可以使用
Arrays.toString(数组)太好了!谢谢你指出。。。特别是这两个输入。巨大的帮助。非常感谢。我将尝试让代码生成随机元素,但这无疑为我指明了正确的方向。要生成随机数,可以使用random类。例如,Random r=new Random();数组[i]=r.nextInt();太好了,谢谢!我花了一段时间才让它工作起来。在我看到您的更新之前,我一直犯着将数组大小(z)设置为随机扫描范围的错误。例如:array[i]=new Random().nextInt(z);愚蠢的错误。我把它定在最大值1000。再次感谢!