Помогите найти ошибки, не могу запустить код
public class ComLineParser {
private String[] keys; // ключи
private String[] delimeters; // разделители "/", "-"
public enum SwitchStatus { NoError, Error, ShowUsage };
public ComLineParser(String[] keys) {
this(keys, new String[] { "/", "-" });
}
public ComLineParser(String[] keys, String[] delimeters) {
this.keys = keys;
this.delimeters = delimeters;
}
public void OnUsage(String errorKey){
if (errorKey != null)
System.out.println("Command-line switch error:" + errorKey);
System.out.println("формат ком.строки: имяПрограммы [-r<input-fileName>] [-w<output-fileName>]");
System.out.println(" -? показать Help файл");
System.out.println(" -r задать имя входного файла");
System.out.println(" -w выполнить вывод в указанный файл");
}
public SwitchStatus OnSwitch(String key, String keyValue) {
System.out.println(key+" "+keyValue);
return SwitchStatus.NoError;
}
public Boolean Parse(String[] args) {
SwitchStatus ss = SwitchStatus.NoError;
int argNum;
for (argNum = 0; (ss == SwitchStatus.NoError) && (argNum < args.length); argNum++) {
// провера наличия правильного разделителя
boolean isDelimeter = false;
for (int n = 0; !isDelimeter && (n < delimeters.length); n++) {
isDelimeter = args[argNum].regionMatches(0,delimeters[n], 0, 1);
}
if (isDelimeter) {
// проверка наличия правильного ключа
Boolean isKey = false;
int i;
for (i = 0; !isKey && (i < keys.length); i++) {
isKey = args[argNum].toUpperCase().regionMatches(1,
keys[i].toUpperCase(),0,keys[i].length());
if (isKey) break;
}
if (!isKey) {
ss = SwitchStatus.Error;
break;
} else {
ss = OnSwitch(keys[i].toLowerCase(),
args[argNum].substring(1 + keys[i].length()));
}
}
else {
ss= SwitchStatus.Error;
break;
}
}
// завершение разбора командной строки
if (ss == SwitchStatus.ShowUsage) OnUsage(null);
if (ss == SwitchStatus.Error) OnUsage((argNum == args.length) ? null : args[argNum]);
return ss == SwitchStatus.NoError;
}
}
Артем
1 уровень
Помогите разобраться с кодом
Обсуждается
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
света
14 апреля 2020, 18:10
эм ты чё что там тебя спрашивают?
И зачем тебе this
и if?
0