У меня есть некоторые проблемы с моим кодом.Как определить пробелы оператора
Я хочу определить пробелы оператора, такие как " + "
, " +"
, "+ "
или "+"
.
Я хочу, чтобы мой выход
- Пробелы оператора «А»
Как я могу изменить мой код?
Мой код здесь.
Scanner input = new Scanner (new File(PATH to file));
int plus1;
int plus2;
int plus3;
int plus4;
String sPlus = "";
while (in.hasNext()) {
String line = in.nextLine();
in.hasNextLine();
LOC++;
if (line.length() > 0) {
plus1 = -1;
plus2 = -1;
plus3 = -1;
plus4 = -1;
while (true) {
plus1 = line.indexOf(" + ", plus1 + 1);
plus2 = line.indexOf(" +", plus2 + 1);
plus3 = line.indexOf("+ ", plus3 + 1);
plus4 = line.indexOf("+", plus4 + 1);
if (plus1 > 0) {
sPlus = "A";
}
if (plus2 > 0) {
sPlus = "B";
}
if (plus3 > 0) {
sPlus = "C";
}
if(plus4 > 0){
sPlus = "D";
}
if ((plus1 < 0) || (plus2 < 0) || (plus3 < 0) || (plus4 < 0)) break;
}
}
}
Хорошо, так каков ваш вклад и каков ваш ожидаемый результат? В настоящее время, независимо от любого из чисел 'plusX', до тех пор, как' plus4> 0', вы получите '' D "' –
. Мой ввод - текстовый файл, такой как код Java, и мой ожидаемый результат - печать A, B, C или D если А «+» Б «+» с «+» D является «+» – Anonymous
Какими бы проблемой вы пытаетесь решить здесь, вы почти наверняка об этом не в той стороне. Вы должны сканировать ввод символа за раз, игнорируя пробелы, а затем реагируя на любой персонаж, который вы нашли. Вместо этого вы неоднократно просматриваете один и тот же ввод для разных вещей, который плохо работает и просто приводит к бесконечным особым случаям, которые вы обнаруживаете. Это не то, как оцениваются профессии, или как анализируется программный код. – EJP