如何将随机值从一种方法拉到另一种方法?

时间:2017-11-19 06:21:59

标签: java arrays methods

长话短说。我应该编写一个包含10个整数的单维数组的程序,并使用冒泡排序对数组进行排序。

现在到目前为止我写道:

System.out.print("The unsorted list is: ");
         int[] numbers = new int[10];       
            //Generates 10 Random Numbers in the range 1 -100
            for(int i = 0; i < numbers.length; i++) {
              numbers[i] = (int)(Math.random() * 100 + 1);
              System.out.print(numbers[i] + " " );
           }//end for loop

但我不清楚如何将随机值从一种方法传递到另一种方法。 proffesor非常友好,可以包含一个冒泡排序代码,但是我并不清楚它应该如何在main方法中从数组中提取随机值。

bubblesort代码:

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

任何提示或帮助都是非常有用的。

2 个答案:

答案 0 :(得分:0)

功能

public static void bubbleSort(int[] list)

期望int[] list一个整数数组作为参数,所以你传递一个整数数组。

public static void main(String args[]){
   int[] mList = {12,3,54,67,8,90};
   bubbleSort(mList);
   for(int i = 0 ; i < mList.length ; i++)
      System.out.println(mList[i] + ", ");
}

您也知道,请注意void main(String[] args)也期望数组(String数组)作为参数。

此外,由于参数int[] list是非原语(即不是普通的int,float,char或它们的包装器对象),因此参数作为引用而非值接收。因此,在数组中进行的任何修改都将反映在main函数中。

答案 1 :(得分:0)

像这样使用:

System.out.print("The unsorted list is: ");
         int[] numbers = new int[10];  
               bubbleSort(numbers);
            //Generates 10 Random Numbers in the range 1 -100
            for(int i = 0; i < numbers.length; i++) {
              numbers[i] = (int)(Math.random() * 100 + 1);
              System.out.print(numbers[i] + " " );
           }//end for loop

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