Forum Coders' city Strona Gwna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UytkownicyUytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj si, by sprawdzi wiadomociZaloguj si, by sprawdzi wiadomoci   ZalogujZaloguj 

Potrzebuj szybkiej odpowiedzi na moje pytanie... Zasady

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



 
Odpowiedz do tematu    Forum Coders' city Strona Gwna -> Java
Zobacz poprzedni temat :: Zobacz nastpny temat  
Autor Wiadomo
dideridu



Doczy: 03 Cze 2016
Posty: 1

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

Cze poniej zamieciam kod, ktry stworzyam... ale mam problem. Pojawiy 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 bdw.


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("Wyjcie");
        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 rdo = e.getSource();
        if (rdo==Przycisksprawdz)
        {
            NapisRok.setText("Rok urodzenia: " + NapisRok);
            NapisMiesiac.setText("Miesic urodzenia: " + NapisMiesiac);
            NapisDzien.setText("Dzie urodzenia: " + NapisDzien);
            NapisPlec.setText("Pe: " + NapisPlec);

        }
        else if (rdo==Przyciskwyjscie)
        {
            dispose();
        }
    }
    
}

Powrt do gry
Zobacz profil autora Wylij prywatn wiadomo
marcin_an



Doczy: 26 Maj 2005
Posty: 18820

PostWysany: Sob Cze 04, 2016 9:04 am      Temat postu: Odpowiedz z cytatem Pisownia

Z gry przepraszam, jeli gdzie niej odnosz sido ciebie jako do faceta - dopiero pod koniec pisania zauwayem, e jeste kobiet. Moliwe, e gdzie nie poprawiem na waciw pe.

Jako ciekawostk moesz przeczyta ponisz list, eby na przyszo nie popeni takich bdw. I tylko w tym celu, bo sam kod nie jest do drobnych poprawek, tylko do przepisania od pocztku. Kopoty zaczynajsibowiem juw koncepcji jego dziaania. Zastanw si najpierw dokadnie, co ta aplikacja ma robi, jak ma przebiega proces jej uywania, jakie dokadnie bd skutki wywoania poszczeglnych akcji i dopiero wtedy zacznij pisa kod - nie odwrotnie. Najpierw piszc kod, a nad sposobem jego dziaania zastanawiajc sidopiero potem, bdziesz tworzya potworki, ktre bd skaday si z podolepianych na si, bez adu i skadu fragmentw, a "dziaanie" bdzie zwykym przypadkiem. Dowiadczony developer moe sobie pod presj czasu pozwoli na takie manewry; pocztkujcy - nie.

  1. Linie 14-16: pola Przycisksprawdz, Przyciskwyjscie, NapisRok, NapisMiesiac, NapisDzien, NapisPlec, NapisPesel i NumerPesel sdostpne spoza klasy ReadPesel.
  2. Linia 21: ustawienie rozmiaru okna bez zwizku z rozmiarem jego zawartoci.
  3. Linie 23, 26, 32, 36, 41, 45, 50, 55 i 60: przypadkowe rozrzucenie komponentw w kontenerze w wyniku braku uycia LayoutManagera i prb rcznego, nieprawidow zreszt przeprowadzonego, ustawiania ich na arbitralnie wybranych, pozbawionych sensu pozycjach.
  4. Linie 27, 46, 51, 56, 61: uycie setForeground bez jednoczesnego uycia 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 prby ustalenia, jakie wartoci ma L&F.
  6. Linie 27, 46, 51, 56, 61: Magenta jako kolor jakiegokolwiek elementu UI?!! Jako programista zostaw projektowanie interfejsw uytkownika designerom - nawet najgorszy z nich ma minimalne poczucie estetyki i nie popeniby takiej wtopy. Wida nie jest ci przeznaczone dbanie o t czprogramu.
  7. Linia 70: definicja klasy wewntrz metody. W Javie nie ma takiej skadni.
  8. Linie 38 i 43: wyciek this z konstruktora.
  9. Linia 70: ( zamiast {, extends, implements lub <. W Javie nie ma takiej skadni. W szczeglnoci nie ma skadni, w ktrej lista argumentw byaby czci definicji klasy. Normalnie zapytabym, czy przypadkiem nie chciaa zdefiniowa konstruktora klasy ReadPesel, ale miejsce wystpienia kodu nie bardzo ma sens. Ponadto definicja obecnie istniejcego konstruktora byaby bardzo za, gdyby tak byo.
  10. Linia 72: instrukcje w ciele definicji klasy (?!).
  11. Linie 75, 271, 275 i 281: definicje metod wewntrz innej metody. Taka skadnia nie istnieje w Javie.
  12. Ze wzgldu na dotychczasowe bdy dalszy kod i tak nie ma sensu, ale prbujc idalej i pomijajc co wiksze bzdury i niejasnoci z powyszej listy wynikajce: linie 84-264: dobrze, e w kodowaniu PESEL jest zaledwie 60 moliwych kodw miesicy i grup lat. Czy gdyby byo 10000, te wypisywaaby rcznie kad moliwo?
  13. Linie 76-267: metoda odwouje si do nie wiadomo czego, ale wyglda na to, e gdyby bya w majcym sens kontekcie, to modyfikowaaby stan klasy i dziaaa jako funkcja. Zdecyduj si: albo jedno, albo drugie. Ponadto prawdopodobnie czytaaby z niezweryfikowanych lub nawet nie zainicjalizowanych prawidowo pl, a take tworzyaby z innymi metodami zalenoci dotyczce kolejnoci wywoania, co jest po czci wynikiem tego, e jest publiczna, chocia ewidentnie nie wykonuje niczego, co stanowioby publiczny interfejs twojej klasy.
  14. Linie 302-304: wywoanie metod Swinga poza EDT.
  15. Linie 307-322: w powizaniu z rejestracj listenera w 38 i 43: upublicznienie szczegw implementacyjnych.
  16. Linie 312-315: odwoanie do niezainicjalizowanych pl.
  17. Linia 320: wywoanie dispose na nadal uywanym oknie.
  18. Java umoliwia uycie polskich znakw diakrytycznych w identyfikatorach, ale jest to rwnie sensowny pomys, co pisanie kodu po japosku. Jeeli ju koniecznie chcesz nazywa zmienne po polsku, to przynajmniej ogranicz zestaw znakw do standardowych 62 liter i cyfr. A najlepiej przestaw si na angielski - wszystkim bdzie prociej.
Ze wzgldu na bdy od linii 70, nie mona zbyt dokadnie oceni wystpujcego dalej kodu, ale obstawiam, e lista byaby sporo dusza, gdyby si dao.
Powrt do gry
Zobacz profil autora Wylij prywatn wiadomo
Wywietl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Gwna -> Java Wszystkie czasy w strefie CET (Europa)

Strona 1 z 1

 
Skocz do:  
Moesz pisa nowe tematy
Moesz odpowiada w tematach
Nie moesz zmienia swoich postw
Nie moesz usuwa swoich postw
Nie moesz gosowa w ankietach
Moesz dodawa zaczniki na tym forum
Moesz pobiera pliki z tego forum




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

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