0

我目前是 Java 新手,需要帮助。所以我想在不使用“静态”的情况下为我的排序代码创建三种方法。我想使用的三种方法是 myRandom,创建一个随机数数组,mySort,从最高到最低排序数组,以及 printArray,打印数组。问题是我不知道如何在排序后打印数组。打印方法不起作用吗?到目前为止,这是我的代码:

import java.util.Arrays;
import java.util.Random;

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

        System.out.println("The array original:");



        System.out.println("The array generated:");


    }

    public int [] myRandom (int[] numbers)
    {
       Random random = new Random();
       for(int i=0; i<numbers.length; i++)
           numbers[i] = random.nextInt(20); 
       return numbers;
    }

    public  void printArray(int[] list)
    {
         for (int counter = 0; counter < list.length; counter++)
             System.out.print(list[counter] + " ");
         System.out.println();
    }

    public int[] mySort (int[] numbers)
    {
        for(int i=0; i<numbers.length; i++)
        {
            for(int j=0; j<numbers.length; j++)
            {
                if(numbers[i] < numbers[j])
                {
                    int temp = numbers[i];
                    numbers[i] = numbers[j];
                    numbers[j] = temp;
                }
            }
        }
        return numbers;
     }
}
4

4 回答 4

1

查看您的代码后,您似乎需要调用您想要使用的方法。例如,如果你想调用我的排序,你需要通过键入将 int 数组传递给方法

mySort(myPassedIntArrayVariable);

您还可以使用您所在的 return 语句在 Main 方法中设置新变量。例如,您可以将排序存储在一个新变量中,例如

int[] storageArray = mySort(myPassedIntArrayVariable);

希望这可以帮助。如果这对您的问题没有帮助,请发表评论。

于 2013-04-04T18:10:35.107 回答
0

方法 printArray 和 mySort 不是静态的,因此它们属于该类。

我给你部分答案......

SortAnimate6 me = new SortAnimate6();
System.out.println("The array original:");
me.printArray(numbers);

希望这会给你一些尝试,并继续前进。

于 2013-04-04T18:08:37.130 回答
0

如果您不严格使用您提到的 3 种方法,那么您应该使用这个简单的代码

将数组转换为列表

Arrays.asList(yourArray);

Now simple use collections.sort(resultList)

Lastly iterate on list to print each number with sysout . Thats it
于 2013-04-04T18:34:28.373 回答
0

如果不创建 SortAnimate6 的实例来调用它们,就不能调用这些方法中的任何一个。

于 2013-04-05T00:09:29.900 回答