【问题标题】:calling to bubbleSort method from main to print sorted array从 main 调用 bubbleSort 方法以打印排序数组
【发布时间】:2018-05-01 17:12:12
【问题描述】:

如何从 main 方法调用 bubbleSort 方法以打印排序列表数组。我已经在一个数组中生成了 10 个随机数,但我还没有弄清楚如何调用bubbleSort 并打印结果。我在这里想念什么?

公共类冒泡排序{

public static void main(String[] args) {

    int [] numbers = new int[10];
    //Generate 10 random numbers between 1-100
      for(int i = 0; i < numbers.length; i++) {
        numbers[i] = (int)(Math.random() * 100 + 1);
        }//end of loop
    System.out.println("The unsorted list is: " + Arrays.toString(numbers));
         //Solution added
         bubbleSort(numbers); //Call to sort the array
    System.out.println("The sorted list is: " + Arrays.toString(numbers)); 

}

    public static void bubbleSort(int[] list) 
      {
        int temp;

          for (int i = list.length - 1; i > 0; i--) 
          {
             for (int j = 0; j < i; j++) 
             {
               if (list[j] > list[j + 1]) 
               {
               temp = list[j];
               list[j] = list[j + 1];
               list[j + 1] = temp;


               }
             }
          }
       }

}

【问题讨论】:

  • bubbleSort(numbers);System.out.println("The sorted list is: " + Arrays.toString(numbers));
  • 你应该让你的函数返回数组 (list[]) 而不是 void。然后就可以 System.out.println(bubbleSort(numbers))
  • 伙计,谈谈错过显而易见的事情......谢谢!完美运行。

标签: java


【解决方案1】:

你只是没有调用你的函数。

`public static void main(String[] args) { int [] numbers = new int[10];

//Generate 10 random numbers between 1-100

  for(int i = 0; i < numbers.length; i++) {
    numbers[i] = (int)(Math.random() * 100 + 1);
    }//end of loop
bubblesort(numbers);
System.out.println("The unsorted list is: " + Arrays.toString(numbers));}

如你所见,我添加了 bubblesort(numbers); 来调用你创建的函数。继续提问,因为我发现您是 Java 新手,欢迎来到编码世界!

【讨论】:

  • @bwillo BTW,答案旁边有一个复选标记,可让您选择最有帮助的答案。通过检查,你和我都会获得声望点!
【解决方案2】:
import java.util.Arrays;
import java.util.Random;

public class BubbleSort{
    static Random rand = new Random();

    public static void main(String[] args) {
        int [] numbers = new int[10];
        //Generate 10 random numbers between 1-100
          for(int i = 0; i < numbers.length; i++) {
            numbers[i] = (int)(rand.nextFloat() * 100 + 1);
            }//end of loop
        System.out.println("The unsorted list is: " + Arrays.toString(numbers));
        bubbleSort(numbers);
        System.out.println("The sorted list is: " + Arrays.toString(numbers));

    }

    public static void bubbleSort(int[] list) {
        int temp;
        for (int i = list.length - 1; i > 0; i--){
            for (int j = 0; j < i; j++){
                if (list[j] > list[j + 1]){
                    temp = list[j];
                    list[j] = list[j + 1];
                    list[j + 1] = temp;
                }
            }
        }
    }
}

【讨论】:

    猜你喜欢
    • 2022-10-23
    • 1970-01-01
    • 2016-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多