public Boolean prendiTessera(TipoTerreno tipo) {
switch(tipo){
case PIANURA: tesserePianura != 4 ? tesserePianura++ : return false;
case CAMPAGNA: tessereCampagna != 4 ? tessereCampagna++ : return false;
case MONTAGNA: tessereMontagna != 4 ? tessereMontagna++ : return false;
case DESERTO: tessereDeserto != 4 ? tessereDeserto++ : return false;
case FIUME: tessereFiume != 4 ? tessereFiume++ : return false;
case BOSCO: tessereBosco != 4 ? tessereBosco++ : return false;
default: return false;
}
return true;
}
이클립스 (각 행) 다음과 같은 오류가보고 토큰에물음표 대장 스위치 케이스
구문 오류, 잘못된 AssignmentOperator을
토큰 "반환"에구문 오류 이 토큰
형식 불일치를 삭제 : int로 부울에서 변환 할 수 없습니다
변수 :
private int tesserePianura;
private int tessereCampagna;
private int tessereMontagna;
private int tessereDeserto;
private int tessereFiume;
private int tessereBosco;
열거 클래스 : 이것에
public enum TipoTerreno {
/** terreno pianura. */
PIANURA,
/** terreno campagna. */
CAMPAGNA,
/** terreno montagna. */
MONTAGNA,
/** terreno deserto. */
DESERTO,
/** terreno fiume. */
FIUME,
/** terreno bosco. */
BOSCO,
/** terreno Sheepsburg. */
SHEEPSBURG;
}
은'원 operator'이 (같은 경우/다른) 성명, 오히려 표현이 아님을 해결하는 가장 간단한 방법입니다. – GriffeyDog
@ GriffeyDog, 문제는 삼항 연산자가 아닙니다. 명령문이 예상되는 곳에 나타나는 경우 표현식은 _is_ 명령문입니다. 문제는 '반환'입니다. 'return'은 문장이지만 표현식이 필요한 곳에 여기에 나타납니다 (즉, 삼항의 세 번째 인자로 나타납니다.) –
@jameslarge 표현식이 값으로 평가됩니다. 그것은 자체적으로 _ 진술 문이며 삼항 연산자의 마지막 부분에 필요한 값으로 평가하지 않습니다. – GriffeyDog