• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Błąd w kodzie, którego nie umiem znaleźć

Object Storage Arubacloud
+1 głos
518 wizyt
pytanie zadane 28 lipca 2021 w Java przez nowawtowarzystwie Nowicjusz (130 p.)
edycja 28 lipca 2021 przez ScriptyChris
Hej, jestem świeżakiem w programowaniu, zaczęłam od javy. 
Mam problem z jednym zadaniem, nie wiem gdzie robie błąd, zmieniałam już rożne rzeczy a nadal nic. Proszę pomóżcie, nie mam kogo się poradzic.

W zadaniu chodzilo o to by trzy wybrane losowo liczby przez kogos ustawily się od największej do najmniejszej. Oto mój kod:

public class Zadanie2 {
    public static void main(String args[])
    //Coś mam źle w kodzie, ale nie wiem co!!!
    {
        int a, b, c;
        System.out.println("Wprowadź trzy liczby:");
        Scanner scanner = new Scanner(System.in);
        System.out.print("Pierwsza liczba =");
        a = scanner.nextInt();
        System.out.print("Druga liczba =");
        b = scanner.nextInt();
        System.out.print("Trzecia liczba =");
        c = scanner.nextInt();

        System.out.println("Poprawna kolejność to: " + a + ", " + b + ", " + c);
        if (a > b && b > c)
        System.out.println("Poprawna kolejność to: " + a + ", " + c + ", " + b);
        else if (a > b && c > b)
        System.out.println("Poprawna kolejność to: " + b + ", " + c + ", " + a);
        else if (b > a && a > c)
        System.out.println("Poprawna kolejność to: " + b + ", " + c + ", " + a);
        else if (b > c && c > a)
        System.out.println("Poprawna kolejność to: " + c + ", " + a + ", " + b);
        else if (c > a && a > b)
        System.out.println("Poprawna kolejność to: " + c + ", " + b + ", " + a);
        else if (c > b && b > a)

Hej, jestem świeżakiem w programowaniu, zaczęłam od javy. 
Mam problem z jednym zadaniem, nie wiem gdzie robie błąd, zmieniałam już rożne rzeczy a nadal nic. Proszę pomóżcie, nie mam kogo się poradzic.

W zadaniu chodzilo o to by trzy wybrane losowo liczby przez kogos ustawily się od największej do najmniejszej.

Oto mój kod:

public class Zadanie2 {
    public static void main(String args[])
    //Coś mam źle w kodzie, ale nie wiem co!!!
    {
        int a, b, c;
        System.out.println("Wprowadź trzy liczby:");
        Scanner scanner = new Scanner(System.in);
        System.out.print("Pierwsza liczba =");
        a = scanner.nextInt();
        System.out.print("Druga liczba =");
        b = scanner.nextInt();
        System.out.print("Trzecia liczba =");
        c = scanner.nextInt();

        System.out.println("Poprawna kolejność to: " + a + ", " + b + ", " + c);
        if (a > b && b > c)
        System.out.println("Poprawna kolejność to: " + a + ", " + c + ", " + b);
        else if (a > b && c > b)
        System.out.println("Poprawna kolejność to: " + b + ", " + c + ", " + a);
        else if (b > a && a > c)
        System.out.println("Poprawna kolejność to: " + b + ", " + c + ", " + a);
        else if (b > c && c > a)
        System.out.println("Poprawna kolejność to: " + c + ", " + a + ", " + b);
        else if (c > a && a > b)
        System.out.println("Poprawna kolejność to: " + c + ", " + b + ", " + a);
        else if (c > b && b > a)

 

2
komentarz 28 lipca 2021 przez Oscar Nałogowiec (29,290 p.)
W liniach 24 i 26 masz 2 razy taki sam print a powinna być inna kolejność zmiennych.
komentarz 28 lipca 2021 przez nowawtowarzystwie Nowicjusz (130 p.)

Rzeczywiście, niedopatrzenie przy probowaniu roznych opcji, musialam się zamieszac. Poprawilam, ale nadal wyskakuje jeden błąd: illegal start of statement

co to moze znaczyc?

public class Nauka {
    public static void main(String args[]) {
        int a, b, c;
        System.out.println("Wprowadź trzy liczby:");
        Scanner scanner = new Scanner(System.in);
        System.out.print("Pierwsza liczba =");
        a = scanner.nextInt();
        System.out.print("Druga liczba =");
        b = scanner.nextInt();
        System.out.print("Trzecia liczba =");
        c = scanner.nextInt();

        System.out.println("Poprawna kolejność to: " + a + ", " + b + ", " + c);
        if (a > b && b > c)
            System.out.println("Poprawna kolejność to: " + a + ", " + c + ", " + b);
        else if (a > c && c > b)
            System.out.println("Poprawna kolejność to: " + b + ", " + a + ", " + c);
        else if (b > a && a > c)
            System.out.println("Poprawna kolejność to: " + b + ", " + c + ", " + a);
        else if (b > c && c > a)
            System.out.println("Poprawna kolejność to: " + c + ", " + a + ", " + b);
        else if (c > a && a > b)
            System.out.println("Poprawna kolejność to: " + c + ", " + b + ", " + a);
        else if (c > b && b > a)

    }
}

 

1 odpowiedź

+1 głos
odpowiedź 28 lipca 2021 przez Wiciorny Ekspert (270,110 p.)
 else if (b > a && a > c)
        System.out.println("Poprawna kolejność to: " + b + ", " + c + ", " + a);

skoro b > a , analogicznie a > c to kolejność powinna być b,a,c -> a u Ciebie jest b,c,a 

  else if (b > a && a > c)
        System.out.println("Poprawna kolejność to: " + b + ", " + c + ", " + a);

ta sama sytuacja jest tutaj skoro  przechodnia relacja  a jest większe od c więc b jest większe od C, więc tutaj to samo  

System.out.println("Poprawna kolejność to: " + b + ", " + c + ", " + a);

 zła kolejność w wypisywaniu, powinno być 

 System.out.println("Poprawna kolejność to: " + b + ", " + a + ", " + c);
     else if (c > a && a > b)
        System.out.println("Poprawna kolejność to: " + c + ", " + b + ", " + a);

Przeanalizuj proszę wszelkie operacje tutaj też jest błą skoro a> b to powinno być przed  wypisane w kolejnosc C-A-B 

PROBLEMEM JEST PO PROSTU KOLEJNOŚĆ WYPISYWANIA LICZB DLA WARUNKÓW W KILKU MIEJSACH 

komentarz 28 lipca 2021 przez nowawtowarzystwie Nowicjusz (130 p.)
Już poprawiłam, tylko nadal wyskakuje illegal start of statement
komentarz 28 lipca 2021 przez Wiciorny Ekspert (270,110 p.)
wrzuć cały kod, może czegoś nie zamykasz, sprawdź dobrze
komentarz 28 lipca 2021 przez Wiciorny Ekspert (270,110 p.)

co u Ciebie robi ten ostatni  warunek, skoro nic nie sprawdza? tzn... nie ma działania po jego wykonaniu 

else if (c > b && b > a)
            System.out.println("Poprawna kolejność to: " + c + ", " + b + ", " + a);
        else if (c > b && b > a)
        // tutaj brakuje czegos? jeśli nie ma nic ... to nie potrzebny warunek 
    }
}

 

komentarz 28 lipca 2021 przez nowawtowarzystwie Nowicjusz (130 p.)
Bo ja najpierw dawałam drukowanie pozniej warunek do tego, to musi byc odwrotnie ? przepraszam ale sie staram tylko ciezko samej to ogarnac
komentarz 28 lipca 2021 przez nowawtowarzystwie Nowicjusz (130 p.)
Zmieniłam kolejność, działa, uf! Dzieki wielkie :)
komentarz 28 lipca 2021 przez Wiciorny Ekspert (270,110 p.)
ciesze się że mogłem pomóc

Podobne pytania

0 głosów
1 odpowiedź 268 wizyt
0 głosów
3 odpowiedzi 878 wizyt
0 głosów
2 odpowiedzi 7,324 wizyt

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...