我有一个程序,可以从命令行运行一个-R
来指定返回结果的范围。 -R
采取形式为n:n
的一个参数。获得一系列结果的最佳方法是什么?
看到好像n:n
可能是1-5或10000-500000,获得:
两侧的值的最佳方法是什么?
通过我的ARG以下-R
的方法后,我开始做了以下内容:
private int[] parseRangeResults(String range) {
int[] rangeResults = new int[2];
if(!(range.contains(":"))) {
throw new Exception("Invalid range syntax");
}
String[] numbers = range.split(":")
rangeResults[0] = Integer.parseInt(numbers[0]);
rangeResults[1] = Integer.parseInt(numbers[2]);
return rangeResults;
}
但我认为这打破了,如果有人提出特殊字符,或1000:::::5000
,那么什么是解决这个的最佳方式?
代码如果唯一的问题是,如果有人给垃圾输入它不会工作,我不知道这是一个问题 – StephenTG
@StephenTG我慢,详细地谈一谈? –
虽然现在我想,根据允许的范围,负值可能会有问题 – StephenTG