繁体   English   中英

如何将main方法分成自己的类?

[英]How do I seperate main method into its own class?

因此,我编写了这段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] + ", ");
        }
    }
}

谢谢你的帮助。

我想你想要这样的东西:

主班

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

只需将您的main复制粘贴到它自己的文件中即可。

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

我没有遵循“漂亮的程序包命名”约定,我想您以后会自己学习的。 您需要对文件本身做的唯一一件事情就是将package LuisIsLuis.Awesome.Package; 以这种方式组织代码时,作为两个文件的第一行; 如果您对原因感到好奇,请查阅软件包命名标准。 话虽这么说,您的课程可能很快就会涵盖。

这非常简单,取决于您要实现的目标。 如果您的帮助程序类具有静态方法,则向其添加静态方法BubbleSorter并像上面提到的rmpt一样访问它。 否则,您可以将方法存储在单独的类BubbleSorter.java中,并通过该类的实例进行访问。

public class Main
{
    int[] unsortiert={1,5,8,2,7,4};
    Bubblesorter bubble = new Bubblesorter();
    int [] sortiert = bubble.bubblesort(unsortiert);

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

public class Bubblesorter
{
    public 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;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM