Niedzialajacy kod

0

Czesc Wszystkim,
nie wiedziec czemu kod spisany ze stronki u mnie nie dziala. Dolkladnie chodzi mi o "else if (delta == 0){..."
komunikat :
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Syntax error on token "else", delete this token

class ElseIf{
public static void main(String[]args){

    int A = 1, B = -1, C = -6;
    System.out.println("Parametry rownania:\n");
    System.out.println(" A=" + A + " B=" + B + " C=" + C + "\n");

    if (A==0){
        System.out.println("To nie jest rownanie kwadratowe: A=0!");
    }
    else{
        double delta = B*B - 4*A*C;
        double wynik;
        if (delta <0)
        System.out.println("Delta < 0 ");
        System.out.println("To rownanie nie ma rozwiazania w zbiorze liczb rzeczywistych");
    }
    else if (delta == 0){                               // z jakiegos powodu nie dziala
        wynik = -B/2*A;
        System.out.println("Rozwiazanie: x=" + wynik);
    }   
    else{
        wynik = (-B + Math.sqrt(delta))/2*A;
        System.out.print("Rozwiazanie: x1=" + wynik);
        wynik = (-B - Math.sqrt(delta))/2*A;
        System.out.prinln(" x2=" + wynik);
    }
}

}

Ktos wie jak temu zaradzic??
Udanej niedzieli!

1

Po pierwsze sformatuj kod, a po drugie albo źle przepisales albo... nie wiem co to za strona. Struktura ifa jest taka ze jest if, pozniej ew else if i na koncu else, ktory konczy instrykcje warunkowa. Kolejność nie jest przypadkowa, else to wszystko pozostle co nie trafia we wczesniejsze warunki. A u Ciebie jest if, pozniej else(tu okej) i nagle po tym wjezdza else if i else. Albo ten drugi else if powinien byc zwyklym ifem, albo kolejnym else ifem, ale to wtedy ten drugi else tez musi byc else ifem. Nie zaglebiam sie w kod, wiec sprawdz jeszcze raz jak jest na stronie.

2

Składnia instrukcji if:

if(warunek) { /* kod */ }
else if(warunek)  { /* kod */ }
else if(warunek)  { /* kod */ }
// .. dowolnie dużo else if
else { /* kod */ }

W Twoim kodzie natomiast zrobiłeś

if(warunek) { /* kod */ }
else { /* kod */ }
else if(warunek)  { /* kod */ }
else { /* kod */ }

Spójrz na wcięcia w swoim kodzie i zobaczysz, że tu jest bardzo pomieszane. W zasadzie brakuje nawiasu otwierającego po if (delta <0)

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