繁体   English   中英

在Java中从命令行将字符串输入为int

[英]input string to int from command line in java

我正在用Java编写一个使用命令行的程序。

我正在制作的程序被另一个程序使用, 问题是我的第4个参数必须是一个int ,例如60(这是一个int,用于计算)才能使我的程序正常工作,使用它,然后将fixedwidth:60 (这是一个字符串)作为第四个参数。

现在我的问题是,在程序中使用60作为字符串的第4个参数而不是int的情况下,如何仍可以在计算中使用60而又不给出错误。 我有triend Integer.parseIntInteger.ToString ,但是我仍然遇到相同的错误

提前致谢。

:上分割字符串,然后解析第二部分,如下所示-

String str = "fixedwidth:60";
String[] arr = str.split(":");
int val = Integer.parseInt(arr[1]);
// OR -
// int val = Integer.valueOf(arr[1]);
System.out.println(val);

输出是

60

Integer.parseInt(String)Integer.valueOf(String)都希望输入String只是您要解析的数字。 这就是为什么您在尝试解析"fixedwidth:60"时可能会遇到NumberFormatException的原因。

如果确实需要输入整个字符串"fixedwidth:60" ,则必须首先从该字符串中提取数字。 您可以使用String.split(":")用Elliott Frisch的代码来实现:

String str = "fixedwidth:60";
String[] arr = str.split(":"); // arr = { "fixedwidth", "60"}
int val = Integer.parseInt(arr[1]); // arr[1] = "60", which can be parsed

暂无
暂无

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

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