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

instrukcja warunkowa, przypisanie zmiennych

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

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.

1

Musiałbyś napisać tak:

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ę:

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).
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.

0
frankiejojo napisał(a):

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

Dokładnie tak.

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 ->

0
twonek napisał(a):
frankiejojo napisał(a):

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

Dokładnie tak.

Dzięki

1 użytkowników online, w tym zalogowanych: 0, gości: 1