Я пытаюсь упростить эту инструкцию if, чтобы избежать повторения кода и операторов if. Я также хочу иметь возможность передать более двух аргументов. т. е. 5 + 10 * 2/2. Есть идеи?Упростите это утверждение if в JAVA
public static double randomExpressionDraft(String exp){
double primeResult = 0;
double newResult = 0;
for(int i=0;i<exp.length();i++)
{
if(exp.charAt(i)=='*')
{
newResult=Integer.parseInt(exp.substring(0, i)) * Integer.parseInt(exp.substring(i+1, exp.length()));
primeResult = newResult;
System.out.println(primeResult);
}
else if(exp.charAt(i)=='/')
{
newResult=Integer.parseInt(exp.substring(0, i))/Integer.parseInt(exp.substring(i+1, exp.length()));
primeResult = newResult;
System.out.println(primeResult);
}
else if(exp.charAt(i)=='+')
{
newResult=Integer.parseInt(exp.substring(0, i)) + Integer.parseInt(exp.substring(i+1, exp.length()));
primeResult = newResult;
System.out.println(primeResult);
}
else if(exp.charAt(i)=='-')
{
newResult=Integer.parseInt(exp.substring(0, i)) - Integer.parseInt(exp.substring(i+1, exp.length()));
primeResult = newResult;
System.out.println(primeResult);
}
}
return primeResult;
}
один лучший способ является то, что использование выключателя, без перерыва и по умолчанию использовать два утверждения т.е., primeResult = newResult; и System.out.println (primeResult); –
Ваш код также не будет оценивать, чтобы исправить ответ, так как вы не рассматриваете *,/first –
Не отправляйте тот же вопрос, потому что вам не понравились ответы. Измените исходный вопрос. –