「java命令行参数的验证」java命令参数

博主:adminadmin 2023-03-21 05:02:07 638

今天给各位分享java命令行参数的验证的知识,其中也会对java命令参数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 中 用命令行参数接收输入 如何判断接收的数据是什么数据类型

一、在命令行或控制台中接收的数据,都是字符串型,需要强制转换。

强制转换时,需做空判断,如 if(str != null !str.trim().equals("")){

int i = Integer.parseInt(str);}

二、其他情况判断数据类型时,可以用java的反射机制。举个例子:

import java.util.HashMap;

import java.util.Map;

public class Test {

public static void main(String aaa[]) {

Map m = new HashMap();

String s1 = "String1";

String s2 = "String2";

int i1 = 5;

double i2 = 10.5;

m.put(1, s1);

m.put(2, i1);

m.put(3, i2);

m.put(4, s2);

for (int i = 1; i = m.size(); i++) {

Class returnType = m.get(i).getClass();

System.out.println("return type is of type: "

+ returnType.getSimpleName());

}

}

}

帮忙编一个java小程序:输入命令行参数,判断是否为正整数

这个问题并不难啊。

public static void main(String[] args) {

String num ;

Scanner sc = new Scanner(System.in);

num = sc.nextLine();

if( null == num || 0 == num.length() ){

System.err.println("请输入参数!");

System.exit(0);

}else{

if(isNuture(num)||num.equals("0"))

{

System.out.println(num +" 是自然数");

}else {

System.out.println(num +" 不是自然数");

}

}

}

public static boolean isNuture(String number) {// 判断 正整数的格式

Pattern pattern = Pattern.compile("^\\d+$");

Matcher mc = pattern.matcher(number);

return mc.matches();

}

Java怎么解析命令行参数

用惯了控制台的java程序之后,最印象深刻的是其的简单与快捷,虽没有图形界面那样吸引人的眼球,但却也足以迷倒众生。那么java命令行参数有哪些呢?跟gkstk小编一起来学习吧!

控制台程序的运行少不了要通过控制台来传递参数,譬如:

Sh代码

ls -la

这是shell脚本的常用命令,其就是通过后置参数来传递相关信息。UNIX环境为C语言中提供了getopt()这样的函数可以解析后置参数,这个函数是很实用很强大的,但Java就...(我Google了一下,倒没有怎么找出来)。大概是这个功能对Java来说太不足挂齿了吧,但总得有个解决方法才行。

下面就是一个代码实例,用以说明。

这个实例运行的结果是运行在控制台,并允许可选的输入参数:

Sh代码

java TestOpt -i 89 -b -s TestString

那么就会设置几个prarameter的值

Java代码

public class TestOpt {

public static void main(String[] args) {

/*

* 这里先取默认值,因为不是所有参数都会被用户提供

*/

boolean prarameter1 = false;

int prarameter2 = 0;

String prarameter3 = "";

/*

* 设置一个offset变量,用来定位相关信息

*/

int optSetting = 0;

for (; optSetting args.length; optSetting++) {

if ("-b".equals(args[optSetting])) {

prarameter1 = true;

} else if ("-i".equals(args[optSetting])) {

prarameter2 = Integer.parseInt(args[++optSetting]);

} else if ("-s".equals(args[optSetting])) {

prarameter3 = args[++optSetting];

}

}

/*

* 这里我只是打印出来相关的设置信息,具体的行为肯定是要自己取定义打

*/

System.out.println(prarameter1);

System.out.println(prarameter2);

System.out.println(prarameter3);

}

}

这种类似的方法估计应该有很多吧,但这个应该算是比较轻量级的。当然若参数非常多(同时也得进行验证输入)

求java命令行参数详解

作用:

当你使用命令行的形式运行.class文件时,向你的类传递参数.

C:\java YourClassName 参数1 [参数2 参数3 ....]

参数之间用一个空格作为间隔符.

String[] args 这个字符串数组是保存运行main函数时输入的参数的,例如main函数所在的类名为test 那么你在cmd运行 java test a b c 时,args[0] = a ,args[1]=b, args[2]=c 你就可以在你的程序中调用你输入的这些变量了。

args[]不就是那个字符串This is a simple Java program吗?

-------完全不是的,你理解不对。这样好了,你在运行的时候加个参数,比如 java test XX。然后在你的main函数里面加这段话:System.out.println("arg is"+args[0]),然后看看输出是什么?

是不是这个:

This is a simple Java program

arg is XX

在运行时输入java test xx yy zz,并且在你的main函数里面加这段话:System.out.println("arg is"+args[0]+" "+args[1]+" "+args[2]),然后看看输出是什么?

是不是:

This is a simple Java program

arg is xx yy zz

现在你理解了吗。。。

如果没关系,为什么程序中去掉String args[]会出现错误?

--------之所以去掉会出错在于,不带String args[]的main函数和带String args[]的main函数,本质上已经不是同一个函数了,java 本身不存在不带String args[]的main函数,所以当然出错了。

另外,虚机团上产品团购,超级便宜

java命令行参数的验证的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java命令参数、java命令行参数的验证的信息别忘了在本站进行查找喔。