从java中的命令行输入字符串到int

时间:2014-03-19 14:47:08

标签: java string int

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

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

现在我的问题是如何继续使用计算中的60 而不会因为程序使用字符串作为第4个参数而不是int而给出错误。我有Integer.parseIntInteger.ToString,但我仍然遇到同样的错误

提前致谢。

2 个答案:

答案 0 :(得分:1)

将字符串拆分为:,然后解析第二部分,就像这样 -

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

答案 1 :(得分:0)

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

如果您确实需要输入整个字符串"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