У меня есть программа, которую можно запустить из командной строки с помощью -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