Wpis z mikrobloga

jak zmienić
int number = isEvenNumber == true ? 2 : 1;

na wyrażenie z if? Mam takie cos ale to nie działa poprawnie

if(isEvenNumber == true){
int number = 1;
}else {
int number = 2;
}

#programowanie #java
  • 19
  • Odpowiedz
@quwer: musisz zadeklarować zmienną number przed ifem, bo tak, jak teraz jest, to tworzysz zmienną wewnątrz pierwszej gałęzi ifa, i jak z niej wychodzisz - zmienna jest wywalana bo jest poza scopem, i analogicznie w drugiej.

Czyli

int number;
if(isEvenNumber == true){
number = 1;
}else {
number = 2;
}
  • Odpowiedz
@Xiarsky: Wspaniale geniuszu, na pytanie "jak zamienić ternary expression na if" odpowiedziałeś nieco innym ternary expression.

@quwer:

int number = 0;
if (isEvenNumber) {
number = 2;
} else {
number = 1;
}
  • Odpowiedz