Есть метод:
public String getArgument (String partOfformula){
partOfformula.toLowerCase();
String firstArgument = "";
String secondArgument ="";
if (partOfformula.contains("(")){
int startParseIndex=partOfformula.indexOf('(');
int endParseIndex = partOfformula.indexOf(')');
for (int i =startParseIndex+1; i < endParseIndex; i++){
char ch = partOfformula.charAt(i);
firstArgument = firstArgument.concat("r"+ch);
if (ch==','){
startParseIndex= partOfformula.indexOf(ch);
for(int j =startParseIndex; j<endParseIndex; j++){
secondArgument.concat("r"+partOfformula.charAt(j));
}
}
}
};
firstArgument.replace("r", "");
return firstArgument;
}
}
В нем я пытаюсь распарсить часть формулы, введенной пользователем и получить аргументы.
Например, если пользователь ввел "sin (30)" то метод должен вернуть "30", однако IntelIJ пишет, что
Result of firstArgument.replace ("r", "") is ignored!
и метод возвращает строку "r3r0"Как это можно исправить?
replace не меняет строку, относительно которой вызывается, а возвращает новую строку - измененную, если замена произошла, или такую же, если - нет.
firstArgument = firstArgument.replace("r", "");
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости