Niedzialajacy kod

Niedzialajacy kod
Michal Omi
  • Rejestracja:ponad 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:33
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!

AK
Ten kod nie "nie działa", tylko się nie kompiluje
SH
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:Poznań
  • Postów:109
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.

Grzyboo
  • Rejestracja:ponad 9 lat
  • Ostatnio:5 miesięcy
  • Postów:206
2

Składnia instrukcji if:

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

W Twoim kodzie natomiast zrobiłeś

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

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.