[英]input string to int from command line in java
我正在用Java编写一个使用命令行的程序。
我正在制作的程序被另一个程序使用, 问题是我的第4个参数必须是一个int ,例如60(这是一个int,用于计算)才能使我的程序正常工作,使用它,然后将fixedwidth:60
(这是一个字符串)作为第四个参数。
现在我的问题是,在程序中使用60作为字符串的第4个参数而不是int的情况下,如何仍可以在计算中使用60而又不给出错误。 我有triend Integer.parseInt
和Integer.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.