Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中返回2D数组的值_Java_Arrays_Return Value - Fatal编程技术网

如何在java中返回2D数组的值

如何在java中返回2D数组的值,java,arrays,return-value,Java,Arrays,Return Value,我有如下所示的数组类,当我运行程序时,它会给我以下错误消息:错误:在SArray类中找不到Main方法,请将Main方法定义为: 公共静态无效字符串[]args 或者JavaFX应用程序类必须扩展JavaFX.application.application 我不知道应该如何修改我的代码来解决这个问题,因为似乎我没有必要使用main方法 public class SArray { public void setS(double[] S) {} public SArray(doub

我有如下所示的数组类,当我运行程序时,它会给我以下错误消息:错误:在SArray类中找不到Main方法,请将Main方法定义为: 公共静态无效字符串[]args 或者JavaFX应用程序类必须扩展JavaFX.application.application 我不知道应该如何修改我的代码来解决这个问题,因为似乎我没有必要使用main方法

public class SArray {
    public void setS(double[] S) {}

    public SArray(double[] S) {
        super();
    }

    public double[][] getS(){

        double[ ][ ] S =  {{ x,x,x}, { x,x,x},{ x,x,x}};
        for(int x = 0; x<S.length; x++){ 
            for(int y = 0; y<S[x].length; y++){
                System.out.println(S[x][y]); 
            } 
        }
        return S;
    }
}

显然,问题与GET的返回类型无关,但项目设置希望SArray有一个应用程序入口点。

您需要有main方法
您可以在类中定义一个,创建新的SArray并调用get,或者创建新的类并将main方法放在那里

如果您想让代码运行,Java需要知道从哪里开始。否则什么也不会发生

定义为

public static void main(String[] args) {
    //whatever you want to do
}

Java如何知道从何处开始?

Java应用程序需要一个名为main的方法,其符号如下:

public static main(String[] args)

你最好在和你的同学做任何事情之前检查一下

JVM首先在程序中搜索入口点main方法。因此,您的项目中应该至少有一个主方法可以运行。否则它无法启动

public static void main(String args[])
{
   //code here
}

在您的示例中,您创建的构造函数main不能包含构造函数。删除构造函数并运行或创建另一个类,然后将主类放在那里并创建该类的实例。

这里的问题是您混淆了驱动程序类和类。我的意思是,在你的构造函数中你写了super;当您的类是另一个类的子类时使用,在这种情况下,您应该使用关键字extends在代码的开头定义父类。如果您扩展了另一个类,您将在构造函数中使用关键字super,以便从父类获取构造函数,并以某种方式链接它们。例如,您说公共类SArray扩展了InsertParentsClassName。最终,您仍然需要一个驱动程序类来运行代码,在这里,您可以将创建的其他类用作对象。驱动程序类通常是具有main方法的类。所以,如果这不是您的驱动程序类,那么您可以创建一个具有main方法的不同类,并在其中创建SArray对象

public class DriverClass{
     //This is only a rough draft of what it might look like
     SArray array = new SArray();
     public static void main(String [] args){
          //As you can see you can use the functions in SArray class here.
          array.getS();
     }
}
另一方面,如果这是您的驱动程序类,那么您正在尝试在没有main方法的情况下运行代码。这是不可能的,因为Java不知道从哪里开始。您应该将其添加到代码中,并且代码应该放在main方法中。此外,您应该将关键字static添加到所有函数中,即publicstaticdouble[]]get

这是执行代码的地方


我建议你回到更基本的东西上来,因为这是Java开始变得更高级的地方,如果你不擅长基本的东西,你以后就不能做得很好。

错误信息非常清楚:你必须编写一个主方法来运行一个独立的Java应用程序。此方法是应用程序的入口点。当您尝试运行该程序时,会发生什么情况?要运行您的程序,您需要一个main方法。如果这是您唯一拥有的类,那么它必须拥有main方法,因为。。。好主类中必须存在主方法。唯一存在的类始终是主类为什么您认为不需要主方法?您希望您的程序在运行时做些什么,就像现在一样?我只希望使用S[x][y]方法。我试图将此SIBORArray a=new SIBORArray;。但它不起作用。
public static void main(String[] args){//Insert your code here}