instrukcja warunkowa, przypisanie zmiennych

instrukcja warunkowa, przypisanie zmiennych

Wątek przeniesiony 2017-06-15 05:58 z Java przez Patryk27.

FR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 73
0

Witam,
Dla Was sprawa trochę banalna
Chodzi o przypisanie wartości do parametru "a" w zależności od wartości parametru i
Wywala mi ten fragment kodu z komunikatem:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Syntax error on token "int", delete this token
a cannot be resolved to a variable i nie wiem czemu eclipse czepia się tego int, z double też "nie chodzi"
Kod jest taki

Kopiuj
int i=0;
if (i=0)
int a=1;
else 
int a=2;

problem jest z tym fragmentem int a = 1 lub 2 - jak wstawię system out print to instrukcja chodzi.

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
1

Musiałbyś napisać tak:

Kopiuj
int i = 0;
int a; // deklaracja zmiennej przed instrukcją warunkową

if (i == 0) { // zwróć uwagę, że operator porównania to `==`, a nie `=`
  a = 0;
} else {
  a = 1;
}

W innym wypadku, jeśliby iść Twoim tokiem rozumowania, otrzymałbyś taką sytuację:

Kopiuj
int i = 0;

if (i == 0) {
  int a = 0;
} else {
  int a = 1;
}

System.out.println(a); // błąd: zmienna `a` nie istnieje, ponieważ zadeklarowałeś ją poziom wyżej (wewnątrz klamerek w ifie, a nie na równi z ifem).
FR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 73
0

Dziękuję, mam jeszcze jedno pytanie czy deklaracja zmiennej "przed klamerkami" ma na celu by zmienna nyła widoczna "po klamerkach" czy też jest jeszcze jakiś inny cel.

twonek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2500
0
frankiejojo napisał(a):

ma na celu by zmienna nyła widoczna "po klamerkach"

Dokładnie tak.

Akihito
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Śląsk
  • Postów: 248
0

Błąd jaki robisz to :
if (i=0) a powinno być if(i==0) po lewej masz przypisanie zera do i a po prawej jeśli i=0 to rób ->

FR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 73
0
twonek napisał(a):
frankiejojo napisał(a):

ma na celu by zmienna nyła widoczna "po klamerkach"

Dokładnie tak.

Dzięki

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.