Java如何向主函数main中传入参数

 更新时间:2022年02月15日 15:54:17   作者:雪舞芷境  
这篇文章主要介绍了Java如何向主函数main中传入参数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

向主函数main中传入参数

String[ ] args的含义

String[ ] args 是一个数组类型的参数,向主函数中传入参数,相当于给args这个数组传入数组元素

第一步

选中类名然后点击run as>>>>run configurations 出现下面的画面:

第二步

选中类名,点击Arguments 出现下面的画面:

然后输入数据 5 2 5,这相当于给String 类型的args数组,传入第一个元素为5,第二个元素为2,第三个元素为5;

第三步

点击Run>>>>> 出现如下结果

描述:args[0]=5,args[1]=2,args[2]=5;

public static void main(String[] args) {
	int a, b, c;
	a = Integer.parseInt(args[0]);//需要向主函数中传入参数
	b = Integer.parseInt(args[1]); //run configurations;
	c = Integer.parseInt(args[2]);
	int i = sum(a, b, c);
	System.out.println(a + "+" + b + "*" + c + "=" + i);
}
public static int sum(int a, int b, int c) {
	int sum = 0;
	sum = a + mul(b, c);
	return sum;
}
public static int mul(int b, int c) {
	int mul = b * c;
	return mul;
}

Java main方法传参问题

Java 的main方法是Java程序员最熟悉不过的一个方法了,因为我们大多数时候,启动程序都是需要使用到该方法的,且main方法的参数列表是String[] args,一个字符串数组,那么我们如何在启动的时候传入我们需要的参数呢,下面介绍三种方法。

程序示例代码:

public class GreenLeaf {
    public static final String TYPE = "WhiteFlower"; 
    public static void main(String[] args) {
        for (String a : args){
            System.out.println(a);
        }
        System.out.println(TYPE);
    }
}

上面的简单示例代码将打印传入的参数及一个字符串。

一、使用IDE集成开发环境运行Java main方法(Idea展示)

1.首先,点击菜单Run->Edit Configurations:

2.然后,在主类的Configuration -> Program arguments中输入你的参数,多个参数以空格分隔:

点击保存即可。

二、使用命令java -jar ***.jar方式运行Java程序

如何传参解决方案:

0.首先你需要正确打一个jar包:

很多人打包的时候可能会出现这个问题:“White-1.0-SNAPSHOT.jar中没有主清单属性”, 笔者是使用maven管理项目的,解决方案是在pom文件里加入以下插件:

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <mainClass>cn.itoak.white.GreenLeaf</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>

1.然后在项目根目录下运行:mvn clean package 命令即可正确打jar包,包在如下位置:

2.进入target目录下,运行命令:

java -jar White-1.0-SNAPSHOT.jar 1 2 3

三、使用mvn命令运行Java程序并传参

0.执行命令前,请确保已经正确编译(mvn compile):

1.然后在项目根目录下执行命令:

mvn exec:java -Dexec.mainClass="cn.itoak.white.GreenLeaf" -Dexec.args="1 2 3"

1*.如果不想在命令中指定-Dexec.mainClass,则需要在pom文件中增加以下插件,并指定mainClass:

<build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.6.0</version>
                <configuration>
                    <mainClass>cn.itoak.white.GreenLeaf</mainClass>
                    <includePluginDependencies>false</includePluginDependencies>
                </configuration>
            </plugin>
        </plugins>
    </build>

加入了上面的插件,则只需要执行如下命令即可:

mvn exec:java -Dexec.args="1 2 3"

四、直接执行.class文件(了解一下,很少用)

0.先编译生成.class文件:

javac GreenLeaf.java

1.执行:

java GreenLeaf 1 2 3

最终执行结果:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解JAVA 强引用

    详解JAVA 强引用

    这篇文章主要介绍了JAVA 强引用的相关资料,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-08-08
  • java api返回值的标准化详解

    java api返回值的标准化详解

    这篇文章主要介绍了java api返回值的标准化详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • springcloud如何获取网关封装的头部信息

    springcloud如何获取网关封装的头部信息

    这篇文章主要介绍了springcloud获取网关封装的头部信息,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • springboot与mybatis整合实例详解

    springboot与mybatis整合实例详解

    这篇文章主要为大家详细介绍了springboot与mybatis整合实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Spring中事务管理的四种方法(银行转账为例)

    Spring中事务管理的四种方法(银行转账为例)

    这篇文章主要给大家介绍了关于Spring中事务管理的四种方法,文中是以银行转账为例,通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-05-05
  • RabbitMQ消息确认机制剖析

    RabbitMQ消息确认机制剖析

    这篇文章主要为大家介绍了RabbitMQ消息确认机制剖析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • JAVAEE Filter 过滤器设置是否缓存实例详解

    JAVAEE Filter 过滤器设置是否缓存实例详解

    网页中,每次的客户端访问服务器,有部分不用重复请求的,这样可以减轻服务器的工作量。那么如何设置客户端是否都缓存呢?接下来通过本文给大家介绍JAVAEE Filter 过滤器设置是否缓存的实例,感兴趣的朋友一起学习吧
    2016-05-05
  • 详解Spring Cloud Zuul 服务网关

    详解Spring Cloud Zuul 服务网关

    本篇文章主要介绍了详解Spring Cloud Zuul 服务网关,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • mybatis如何使用Java8的日期LocalDate和LocalDateTime详解

    mybatis如何使用Java8的日期LocalDate和LocalDateTime详解

    这篇文章主要给大家介绍了关于mybatis如何使用Java8的日期LocalDate和LocalDateTime的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-09-09
  • java数据结构基础:顺序队列和循环队列

    java数据结构基础:顺序队列和循环队列

    下面小编就为大家分享一篇java队列实现方法(顺序队列,循环队列),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-08-08

最新评论