Forum Coders' city Strona Główna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Potrzebuję szybkiej odpowiedzi na moje pytanie... Zasady

Syntax error on token "(", { expected i inne...



 
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Java
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
dideridu



Dołączył: 03 Cze 2016
Posty: 1

PostWysłany: Pią Cze 03, 2016 11:32 pm  OP    Temat postu: Syntax error on token "(", { expected i inne... Odpowiedz z cytatem Pisownia

Cześć poniżej zamieściłam kod, który stworzyłam... ale mam problem. Pojawiły mi się takie komunikaty:

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
Syntax error on token "(", { expected
    Syntax error on token "Ciag", ( expected after this token
    Syntax error, insert "}" to complete ClassBody

    at ReadPesel.<init>(ReadPesel.java:70)
    at ReadPesel.main(ReadPesel.java:302)




Proszę o pomoc w opanowaniu tych błędów.


Kod:
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
//-------------------------------------------------------------------------

public class ReadPesel extends JFrame implements ActionListener{

    JButton Przycisksprawdz, Przyciskwyjscie;
    JLabel NapisRok, NapisMiesiac, NapisDzien, NapisPlec, NapisPesel;
    JTextField NumerPesel;
//-------------------------------------------------------------------------
    public ReadPesel()
    {

        setSize(500,300);
        setTitle("Aplikacja do sprawdzania nr PESEL");
        setLayout(null);
        
        NapisPesel = new JLabel ("Wpisz jedenastocyfrowy nr PESEL: ");
        NapisPesel.setBounds(10,100,100,20);
        NapisPesel.setForeground(Color.MAGENTA);
        NapisPesel.setFont(new Font("SansSerif",Font.BOLD,10));
        add(NapisPesel);
        
        NumerPesel = new JTextField("");
        NumerPesel.setBounds(10, 100, 100, 20);
        add(NumerPesel);
        
        Przycisksprawdz = new JButton("Sprawdź");
        Przycisksprawdz.setBounds(100,200,100,20);
        add(Przycisksprawdz);
        Przycisksprawdz.addActionListener(this);
        
        Przyciskwyjscie = new JButton("Wyjście");
        Przyciskwyjscie.setBounds(300,200,100,20);
        add(Przyciskwyjscie);
        Przyciskwyjscie.addActionListener(this);
        
        NapisRok.setBounds(50,100,100,20);
        NapisRok.setForeground(Color.MAGENTA);
        NapisRok.setFont(new Font("SansSerif",Font.BOLD,10));
        add(NapisRok);
        
        NapisMiesiac.setBounds(100,100,100,20);
        NapisMiesiac.setForeground(Color.MAGENTA);
        NapisMiesiac.setFont(new Font("SansSerif",Font.BOLD,10));
        add(NapisMiesiac);
        
        NapisDzien.setBounds(150,100,100,20);
        NapisDzien.setForeground(Color.MAGENTA);
        NapisDzien.setFont(new Font("SansSerif",Font.BOLD,10));
        add(NapisDzien);
        
        NapisPlec.setBounds(200,100,100,20);
        NapisPlec.setForeground(Color.MAGENTA);
        NapisPlec.setFont(new Font("SansSerif",Font.BOLD,10));
        add(NapisPlec);
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
        final String Numer_Pesel;
        final String Miesiace;
    
// -----------------------------------------------------------
        class PeselRead(String Ciag)
        {
            Numer_Pesel = Ciag;
        }
// -----------------------------------------------------------
        public String Rok_Urodzenia() {
            String Rok1 = "";
            String Rok2 = Numer_Pesel.substring(0, 2);
            Miesiace = Numer_Pesel.substring(2, 4);
            int Mint = 0;
            String MiesiacArr[] = { "Styczen", "Luty", "Marzec", "Kwiecien", "Maj",
                    "Czerwiec", "Lipiec", "Sierpien", "Wrzesien", "Pazdziernik",
                    "Listopad", "Grudzien" };
    
            if (Miesiace.equals("81")) {
                Rok1 = "18";
                Mint = 0;
            } else if (Miesiace.equals("82")) {
                Rok1 = "18";
                Mint = 1;
            } else if (Miesiace.equals("83")) {
                Rok1 = "18";
                Mint = 2;
            } else if (Miesiace.equals("84")) {
                Rok1 = "18";
                Mint = 3;
            } else if (Miesiace.equals("85")) {
                Rok1 = "18";
                Mint = 4;
            } else if (Miesiace.equals("86")) {
                Rok1 = "18";
                Mint = 5;
            } else if (Miesiace.equals("87")) {
                Rok1 = "18";
                Mint = 6;
            } else if (Miesiace.equals("88")) {
                Rok1 = "18";
                Mint = 7;
            } else if (Miesiace.equals("89")) {
                Rok1 = "18";
                Mint = 8;
            } else if (Miesiace.equals("90")) {
                Rok1 = "18";
                Mint = 9;
            } else if (Miesiace.equals("91")) {
                Rok1 = "18";
                Mint = 10;
            } else if (Miesiace.equals("92")) {
                Rok1 = "18";
                Mint = 11;
            } else if (Miesiace.equals("01")) {
                Rok1 = "19";
                Mint = 0;
            } else if (Miesiace.equals("02")) {
                Rok1 = "19";
                Mint = 1;
            } else if (Miesiace.equals("03")) {
                Rok1 = "19";
                Mint = 2;
            } else if (Miesiace.equals("04")) {
                Rok1 = "19";
                Mint = 3;
            } else if (Miesiace.equals("05")) {
                Rok1 = "19";
                Mint = 4;
            } else if (Miesiace.equals("06")) {
                Rok1 = "19";
                Mint = 5;
            } else if (Miesiace.equals("07")) {
                Rok1 = "19";
                Mint = 6;
            } else if (Miesiace.equals("08")) {
                Rok1 = "19";
                Mint = 7;
            } else if (Miesiace.equals("09")) {
                Rok1 = "19";
                Mint = 8;
            } else if (Miesiace.equals("10")) {
                Rok1 = "19";
                Mint = 9;
            } else if (Miesiace.equals("11")) {
                Rok1 = "19";
                Mint = 10;
            } else if (Miesiace.equals("11")) {
                Rok1 = "19";
                Mint = 11;
            } else if (Miesiace.equals("21")) {
                Rok1 = "20";
                Mint = 0;
            } else if (Miesiace.equals("22")) {
                Rok1 = "20";
                Mint = 1;
            } else if (Miesiace.equals("23")) {
                Rok1 = "20";
                Mint = 2;
            } else if (Miesiace.equals("24")) {
                Rok1 = "20";
                Mint = 3;
            } else if (Miesiace.equals("25")) {
                Rok1 = "20";
                Mint = 4;
            } else if (Miesiace.equals("26")) {
                Rok1 = "20";
                Mint = 5;
            } else if (Miesiace.equals("27")) {
                Rok1 = "20";
                Mint = 6;
            } else if (Miesiace.equals("28")) {
                Rok1 = "20";
                Mint = 7;
            } else if (Miesiace.equals("29")) {
                Rok1 = "20";
                Mint = 8;
            } else if (Miesiace.equals("30")) {
                Rok1 = "20";
                Mint = 9;
            } else if (Miesiace.equals("31")) {
                Rok1 = "20";
                Mint = 10;
            } else if (Miesiace.equals("32")) {
                Rok1 = "20";
                Mint = 11;
            } else if (Miesiace.equals("41")) {
                Rok1 = "21";
                Mint = 0;
            } else if (Miesiace.equals("42")) {
                Rok1 = "21";
                Mint = 1;
            } else if (Miesiace.equals("43")) {
                Rok1 = "21";
                Mint = 2;
            } else if (Miesiace.equals("44")) {
                Rok1 = "21";
                Mint = 3;
            } else if (Miesiace.equals("45")) {
                Rok1 = "21";
                Mint = 4;
            } else if (Miesiace.equals("46")) {
                Rok1 = "21";
                Mint = 5;
            } else if (Miesiace.equals("47")) {
                Rok1 = "21";
                Mint = 6;
            } else if (Miesiace.equals("48")) {
                Rok1 = "21";
                Mint = 7;
            } else if (Miesiace.equals("49")) {
                Rok1 = "21";
                Mint = 8;
            } else if (Miesiace.equals("50")) {
                Rok1 = "21";
                Mint = 9;
            } else if (Miesiace.equals("51")) {
                Rok1 = "21";
                Mint = 10;
            } else if (Miesiace.equals("52")) {
                Rok1 = "21";
                Mint = 11;
            } else if (Miesiace.equals("61")) {
                Rok1 = "22";
                Mint = 0;
            } else if (Miesiace.equals("62")) {
                Rok1 = "22";
                Mint = 1;
            } else if (Miesiace.equals("63")) {
                Rok1 = "22";
                Mint = 2;
            } else if (Miesiace.equals("64")) {
                Rok1 = "22";
                Mint = 3;
            } else if (Miesiace.equals("65")) {
                Rok1 = "22";
                Mint = 4;
            } else if (Miesiace.equals("66")) {
                Rok1 = "22";
                Mint = 5;
            } else if (Miesiace.equals("67")) {
                Rok1 = "22";
                Mint = 6;
            } else if (Miesiace.equals("68")) {
                Rok1 = "22";
                Mint = 7;
            } else if (Miesiace.equals("69")) {
                Rok1 = "22";
                Mint = 8;
            } else if (Miesiace.equals("70")) {
                Rok1 = "22";
                Mint = 9;
            } else if (Miesiace.equals("71")) {
                Rok1 = "22";
                Mint = 10;
            } else if (Miesiace.equals("72")) {
                Rok1 = "22";
                Mint = 11;
            }
    
            Miesiace = MiesiacArr[Mint];
            return Rok1 + Rok2;
        }
    
        // -----------------------------------------------------------
        public String MiesiacUrodzenia() {
            return Miesiace;
        }
        // -----------------------------------------------------------
        public String DzienUrodzenia() {
            return Numer_Pesel.substring(4, 6);
        }
    
    
        // -----------------------------------------------------------
        public String Plec() {
            int Cyfra = Integer.parseInt(Numer_Pesel.substring(10, 11));
            String Plec = "";
            if ((Cyfra % 2) == 0)
                Plec = "Kobiety";
            else
                Plec = "Mezczyzny";
            return Plec;
        }
    }
    
        // -----------------------------------------------------------
        
    }

    private void RokUrodzenia() {
        
    }

    public static void main(String[] args)
    {
        ReadPesel okienko = new ReadPesel();
        okienko.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        okienko.setVisible(true);
    }

    public void actionPerformed(ActionEvent e)
    {
        Object źródło = e.getSource();
        if (źródło==Przycisksprawdz)
        {
            NapisRok.setText("Rok urodzenia: " + NapisRok);
            NapisMiesiac.setText("Miesiąc urodzenia: " + NapisMiesiac);
            NapisDzien.setText("Dzień urodzenia: " + NapisDzien);
            NapisPlec.setText("Płeć: " + NapisPlec);

        }
        else if (źródło==Przyciskwyjscie)
        {
            dispose();
        }
    }
    
}

Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
marcin_an
Site Admin


Dołączył: 26 Maj 2005
Posty: 18787

PostWysłany: Sob Cze 04, 2016 9:04 am      Temat postu: Odpowiedz z cytatem Pisownia

Z góry przepraszam, jeśli gdzieś niżej odnoszę się do ciebie jako do faceta - dopiero pod koniec pisania zauważyłem, że jesteś kobietą. Możliwe, że gdzieś nie poprawiłem na właściwą płeć.

Jako ciekawostkę możesz przeczytać poniższą listę, żeby na przyszłość nie popełnić takich błędów. I tylko w tym celu, bo sam kod nie jest do drobnych poprawek, tylko do przepisania od początku. Kłopoty zaczynają się bowiem już w koncepcji jego działania. Zastanów się najpierw dokładnie, co ta aplikacja ma robić, jak ma przebiegać proces jej używania, jakie dokładnie będą skutki wywołania poszczególnych akcji i dopiero wtedy zacznij pisać kod - nie odwrotnie. Najpierw pisząc kod, a nad sposobem jego działania zastanawiając się dopiero potem, będziesz tworzyła potworki, które będą składały się z podolepianych na siłę, bez ładu i składu fragmentów, a "działanie" będzie zwykłym przypadkiem. Doświadczony developer może sobie pod presją czasu pozwolić na takie manewry; początkujący - nie.

  1. Linie 14-16: pola Przycisksprawdz, Przyciskwyjscie, NapisRok, NapisMiesiac, NapisDzien, NapisPlec, NapisPesel i NumerPesel są dostępne spoza klasy ReadPesel.
  2. Linia 21: ustawienie rozmiaru okna bez związku z rozmiarem jego zawartości.
  3. Linie 23, 26, 32, 36, 41, 45, 50, 55 i 60: przypadkowe rozrzucenie komponentów w kontenerze w wyniku braku użycia LayoutManagera i prób ręcznego, nieprawidłow zresztą przeprowadzonego, ustawiania ich na arbitralnie wybranych, pozbawionych sensu pozycjach.
  4. Linie 27, 46, 51, 56, 61: użycie setForeground bez jednoczesnego użycia setBackground.
  5. Linie 27, 28, 41, 46, 47, 51, 52, 56, 57, 61 i 62: nieuzasadnione ingerowanie w L&F z kodu aplikacji. Do tego bez nawet próby ustalenia, jakie wartości ma L&F.
  6. Linie 27, 46, 51, 56, 61: Magenta jako kolor jakiegokolwiek elementu UI?!! Jako programista zostaw projektowanie interfejsów użytkownika designerom - nawet najgorszy z nich ma minimalne poczucie estetyki i nie popełniłby takiej wtopy. Widać nie jest ci przeznaczone dbanie o tę część programu.
  7. Linia 70: definicja klasy wewnątrz metody. W Javie nie ma takiej składni.
  8. Linie 38 i 43: wyciek this z konstruktora.
  9. Linia 70: ( zamiast {, extends, implements lub <. W Javie nie ma takiej składni. W szczególności nie ma składni, w której lista argumentów byłaby częścią definicji klasy. Normalnie zapytałbym, czy przypadkiem nie chciałaś zdefiniować konstruktora klasy ReadPesel, ale miejsce wystąpienia kodu nie bardzo ma sens. Ponadto definicja obecnie istniejącego konstruktora byłaby bardzo zła, gdyby tak było.
  10. Linia 72: instrukcje w ciele definicji klasy (?!).
  11. Linie 75, 271, 275 i 281: definicje metod wewnątrz innej metody. Taka składnia nie istnieje w Javie.
  12. Ze względu na dotychczasowe błędy dalszy kod i tak nie ma sensu, ale próbując iść dalej i pomijając co większe bzdury i niejasności z powyższej listy wynikające: linie 84-264: dobrze, że w kodowaniu PESEL jest zaledwie 60 możliwych kodów miesięcy i grup lat. Czy gdyby było 10000, też wypisywałabyś ręcznie każdą możliwość?
  13. Linie 76-267: metoda odwołuje się do nie wiadomo czego, ale wygląda na to, że gdyby była w mającym sens kontekście, to modyfikowałaby stan klasy i działała jako funkcja. Zdecyduj się: albo jedno, albo drugie. Ponadto prawdopodobnie czytałaby z niezweryfikowanych lub nawet nie zainicjalizowanych prawidłowo pól, a także tworzyłaby z innymi metodami zależności dotyczące kolejności wywołania, co jest po części wynikiem tego, że jest publiczna, chociaż ewidentnie nie wykonuje niczego, co stanowiłoby publiczny interfejs twojej klasy.
  14. Linie 302-304: wywołanie metod Swinga poza EDT.
  15. Linie 307-322: w powiązaniu z rejestracją listenera w 38 i 43: upublicznienie szczegółów implementacyjnych.
  16. Linie 312-315: odwołanie do niezainicjalizowanych pól.
  17. Linia 320: wywołanie dispose na nadal używanym oknie.
  18. Java umożliwia użycie polskich znaków diakrytycznych w identyfikatorach, ale jest to równie sensowny pomysł, co pisanie kodu po japońsku. Jeżeli już koniecznie chcesz nazywać zmienne po polsku, to przynajmniej ogranicz zestaw znaków do standardowych 62 liter i cyfr. A najlepiej przestaw się na angielski - wszystkim będzie prościej.
Ze względu na błędy od linii 70, nie można zbyt dokładnie ocenić występującego dalej kodu, ale obstawiam, że lista byłaby sporo dłuższa, gdyby się dało.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Wyświetl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Java Wszystkie czasy w strefie CET (Europa)

Strona 1 z 1

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Możesz dodawać załączniki na tym forum
Możesz pobierać pliki z tego forum




Debug: strone wygenerowano w 0.02388 sekund, zapytan = 11
contact

| Darmowe programy i porady Jelcyna | Tansze zakupy w Helionie | MS Office Blog |