2013-11-01 1 views
0

두 개의 난수를 추가하고 있습니다 (프로그램에서 생성). 조작 변수는 사용자가 원하는 유형의 수학 문제 (+, - 또는 *)를 입력하는 String입니다. 이것은 내 전체 프로그램 중 단 하나의 섹션입니다.호환되지 않는 데이터 형식을 어떻게 수정합니까?

public static double getCorrectAnswer(int operand1, int operand2, String operation){ 
    double correctResponse; 
    correctResponse =(operand1 + (operation) + operand2); 

    return correctResponse; 
} 
+0

사용 switch 문에 모습을 가질 수있다 (또는/다른 블록 경우) 운영에와 적절한 수학 연산을 할 – clcto

답변

3

사용 if는 :

if (operand.equals("+")) { 
    ... 
} 
else if (operand.equals("*")) { 
    ... 
} 
... 

또한 스위치를 사용할 수 있습니다.

정수를 더하고 늘리면 정수가 반환되므로 int를 반환해야합니다.

+0

또는 곱해진 정수가 꽤 커지면 길어집니다. –

+0

피연산자 중 적어도 하나가 long으로 승격 된 경우에만 long을 반환합니다. 그렇지 않으면 오버플로되지만 여전히 (잘못된) int를 반환합니다. –

+0

int를 반환한다는 것을 알았지 만 결과가 정확하지 않을 수 있습니다. –

0

이 당신을 위해 너무 많이있을 수 있지만 공식적인 언어 파서 같은 ANTLR

관련 문제