【问题标题】:How to print the results of a return method without using static or any static methods in Java如何在不使用 Java 中的静态或任何静态方法的情况下打印返回方法的结果
【发布时间】:2013-04-04 18:02:21
【问题描述】:

我目前是 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;
     }
}

【问题讨论】:

    标签: java static


    【解决方案1】:

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

    mySort(myPassedIntArrayVariable);
    

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

    int[] storageArray = mySort(myPassedIntArrayVariable);
    

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

    【讨论】:

    • 我有点明白。我需要将我的排序和打印方法调用到我的主要方法中。知道了。但是,我对如何去做感到困惑。我是否进入 mySort 方法并创建类似“mySort(numbers[i]);”的东西?另外,我需要调用 MyRandom 吗?
    【解决方案2】:

    方法 printArray 和 mySort 不是静态的,所以它们属于类。

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

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

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

    【讨论】:

    • 不是静态的,所以它们属于一个实例。
    【解决方案3】:

    如果你不拘泥于使用你提到的 3 种方法,那么你应该使用这个简单的代码

    将数组转换为列表

    Arrays.asList(yourArray);
    
    Now simple use collections.sort(resultList)
    
    Lastly iterate on list to print each number with sysout . Thats it
    

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-28
        • 1970-01-01
        • 1970-01-01
        • 2017-12-11
        相关资源
        最近更新 更多