Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.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 将字符串传递给另一个类中的main方法_Java - Fatal编程技术网

Java 将字符串传递给另一个类中的main方法

Java 将字符串传递给另一个类中的main方法,java,Java,我正在创建一个需要将字符串从第一个程序传递到第二个程序的项目,但我需要在第一个类的主方法中传递字符串。我用谷歌搜索过,但找不到我需要的东西,大多数人使用setter和getter在类之间传递字符串,但我不能在main方法中这样做 如何在另一个类的main方法中传递字符串 我需要的是如下所示: public class FirstProgram{ public void first(){ String a = "hello"; } } public class S

我正在创建一个需要将字符串从第一个程序传递到第二个程序的项目,但我需要在第一个类的主方法中传递字符串。我用谷歌搜索过,但找不到我需要的东西,大多数人使用setter和getter在类之间传递字符串,但我不能在main方法中这样做

如何在另一个类的main方法中传递字符串

我需要的是如下所示:

public class FirstProgram{
    public void first(){
        String a = "hello";
    }
}

public class SecondProgram{
    public static void main(String[] args){
        //i need to pass string here
    }
}

这个问题相当令人困惑。 但是你可以这样做:

public class FirstProgram{
    public String first(){
        String a = "hello";
        return a;
    }
}

public class SecondProgram{
    public static void main(String[] args){
        FirstProgram firstProgram = new FirstProgram();
        String result = firstProgram.first();
    }
}
您可以这样做:

First.java:

public class First {

    public static void main(String[] args) {
        Second.main(args);
    }
}
Second.java:

import java.util.Arrays;

public class Second {

    public static void main(String[] args) {
        Arrays.stream(args).forEach(System.out::println);
    }
}
如果在命令行上执行java第一个foo-bar-baz-bat,您将看到第二个在控制台中打印出foo-bar-baz-bat

我不推荐


你必须通过在某些程序中调用main来启动你的应用程序。您的第一个可以在第二个程序中调用main,如图所示,但启动进程的是第一个程序。

这不是一个好方法,但从技术上讲,您可以调用第二个程序的main方法并传递任何您喜欢的参数



    public class FirstProgram{
        public void first(){
            String a = "hello";
            SecondProgram.main(new String []{a});
        }
    }


从何处传递到何处?这不是您应该使用Java的方式。您可以简单地从类FirstProgram中的第一个方法调用SecondProgram.mainnew String[]{a},假设两个类都在类路径中。但这就是你想要的吗?问题有点不清楚……请注意,您将使用main方法作为入口点,即启动程序并从外部(如命令行)传递参数的方法。在程序内部,您只需创建类的实例并按正常方式对其调用方法,如果您还没有这样做,这应该是您需要了解的内容-但这些内部调用的方法永远不应命名为main以避免混淆。我假定您没有两个程序应用程序,而是在一个应用程序中有两个类,因此无需在内部调用main方法。我建议你删除这个问题,创建一个新的问题,描述你正在尝试做什么以及为什么它不适合你。你似乎在因果之间犯了错误。第一个程序应该调用第二个程序,反之亦然