如何将main方法分离到自己的类中?

时间:2017-05-11 20:11:07

标签: java class methods main

所以我写了这个Bubblesort代码,一切都运行正常,但现在我想把它分成两个类,我不知道怎么做。

import java.util.Arrays;
public class bubblesorter
{
    public static int[] bubblesort(int[] zusortieren) {
        int temp;
        for(int i=1; i<zusortieren.length; i++) {
            for(int j=0; j<zusortieren.length-i; j++) {
                if(zusortieren[j]<zusortieren[j+1]) {
                    temp=zusortieren[j];
                    zusortieren[j]=zusortieren[j+1];
                    zusortieren[j+1]=temp;
                }

            }
        }
        return zusortieren;
    }
        public static void main(String[] args) {
        int[] unsortiert={1,5,8,2,7,4};
        int[] sortiert=bubblesort(unsortiert);

        for (int i = 0; i<sortiert.length; i++) {
            System.out.print(sortiert[i] + ", ");
        }
    }
}

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

我想你想要这样的东西:

主要课程

public class Main
{
    public static void main(String[] args) {
        int[] unsortiert={1,5,8,2,7,4};
        int[] sortiert=BubbleSort.sort(unsortiert);

        for (int i = 0; i<sortiert.length; i++) {
            System.out.print(sortiert[i] + ", ");
        }
    }
}

排序类

public class BubbleSort {
    public static int[] sort(int[] zusortieren) {
        int temp;
        for(int i=1; i<zusortieren.length; i++) {
            for(int j=0; j<zusortieren.length-i; j++) {
                if(zusortieren[j]<zusortieren[j+1]) {
                    temp=zusortieren[j];
                    zusortieren[j]=zusortieren[j+1];
                    zusortieren[j+1]=temp;
                }

            }
        }
        return zusortieren;
    }
}

答案 1 :(得分:1)

只需将主要内容粘贴到自己的文件中即可。

<强> Main.java

public class Main
{
    public static void main(String[] args) {
        int[] unsortiert={1,5,8,2,7,4};
        int[] sortiert=BubbleSort.sort(unsortiert);

        for (int i = 0; i<sortiert.length; i++) {
            System.out.print(sortiert[i] + ", ");
        }
    }
}

<强> BubbleSort.java

public class BubbleSort {
    public static int[] sort(int[] zusortieren) {
        int temp;
        for(int i=1; i<zusortieren.length; i++) {
            for(int j=0; j<zusortieren.length-i; j++) {
                if(zusortieren[j]<zusortieren[j+1]) {
                    temp=zusortieren[j];
                    zusortieren[j]=zusortieren[j+1];
                    zusortieren[j+1]=temp;
                }

            }
        }
        return zusortieren;
    }
}

只要你在编译时引用javac调用中的两个文件,它就会很好地工作。但是,为了不凌乱,有些结构很好。稍后在Java体验中,您将听到像Maven和Gradle这样的工具,所以我建议养成使用其文件夹格式的习惯:

ProjectName/
    src/main/java/
        LuisIsLuis/Awesome/Package/
            Main.java
            BubbleSort.java

我没有关注&#34;漂亮的包装命名&#34;惯例,我想你以后会自己学习。在以这种方式组织代码时,您需要对文件本身做唯一的事情是将package LuisIsLuis.Awesome.Package;作为两个文件中的第一行;如果您对原因感到好奇,请查看包装命名标准。话虽这么说,你的课程很可能很快就会涵盖这一点。

答案 2 :(得分:0)

这很简单,取决于你想要达到的目标。如果你有一个带有静态方法的辅助类,那么将静态方法BubbleSorter添加到它并像上面提到的rmpt一样访问它。否则,您可以将该方法存储在单独的BubbleSorter.java类中,并通过该类的实例访问它。

puts @order.number
# => "99503"
puts @order.date
# => "2012-10-18T15:29:37"    
puts @order.shipping_address
# => {"name"=>..., "street"=>...}