코드 반복 및 if 문을 피하기 위해이 if 문을 단순화하려고합니다. 또한 2 개 이상의 인수를 전달할 수 있기를 원합니다. 즉 5 + 10 * 2/2이다. 어떤 아이디어?자바에서이 if 문을 단순화하십시오.
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를 고려하지 않으므로 코드가 정답으로 평가되지 않습니다. –
답변이 마음에 들지 않으므로 같은 질문을 다시 게시하지 마십시오. 원래 질문을 편집하십시오. –