我有一個程序,可以從命令行運行一個-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