Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Potrebna pomoc oko java aplikacije

[es] :: Java :: Potrebna pomoc oko java aplikacije

[ Pregleda: 2178 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

oceansoul
Student
Novi Sad

Član broj: 198715
Poruke: 2
*.adsl-3.sezampro.yu.



Profil

icon Potrebna pomoc oko java aplikacije24.10.2008. u 15:26 - pre 188 meseci
POtrebna mi je pomoc oko jedne jednostavne java aplikacije,ali s obzirom da sam pocetnik u java programiranju nisam siguram kako da resim jedan problemcic.

Zadatak glasi ovako:
Napisati Java aplikaciju za evidenciju polaznika škole stranih jezika.
Prate se sledeći podaci o polaznicima:
ime i prezime godina rođenja, naziv kursa (engleski, nemački,…), cena kursa, ukupni uplaćeni iznos.
Omogućiti u aplikaciji:
unos i listanje svih polaznika,
listanje polaznika izabranog kursa i njihovog ukupnog broja,
unos uplate rate izabranog polaznika sa ažuriranjem uplaćenog iznosa,
listanje spiska dužnika (ime i prezime, ostatak duga).
Ulazni podaci se dobijaju sa tastature.


Ovo je kod koji sam napisao:

import java.io.*;
class Polaznici{
public static void main(String[]args)throws Exception{
//Deklarisanje promenljivih
BufferedReader ulaz=new BufferedReader(new InputStreamReader(System.in));
System.out.print("Unesi broj polaznika:");
int k=(new Integer(ulaz.readLine())).intValue();
String[]imePrezime=new String[k];
String[]nazivKursa=new String[k];
int[]godRodj=new int[k];
int[]cenaKursa=new int[k];
int[]ukUplIznos=new int[k];

//Unosenje podataka
for(int i=0;i<k;i++){
System.out.println("\nUnesi podatke za "+(i+1)+ ". osobu");
System.out.println("Unesi ime i prezime:");
imePrezime=ulaz.readLine();
System.out.println("Unesi godinu rodjenja:");
godRodj=(new Integer(ulaz.readLine())).intValue();
System.out.println("Unesi naziv kursa:");
nazivKursa=ulaz.readLine();
System.out.println("Unesi cenu kursa:");
cenaKursa=(new Integer(ulaz.readLine())).intValue();
System.out.println("Unesi ukupni uplaceni iznos:");
ukUplIznos=(new Integer(ulaz.readLine())).intValue();
}

//Listanje svih polaznika
int ukBroj=0;
System.out.println("\nSpisak svih polaznika:");
for (int i=0;i<k;i++){
System.out.println("\nPrezime i ime:" +imePrezime);
System.out.println("Godina rodjenja:" +godRodj);
System.out.println("Naziv kursa:" +nazivKursa);
}


//Unos uplate rate i azuriranje uplacenog iznosa
int[]uplRata=new int[k];
for(int i=0;i<k;i++){
System.out.println("\nUnesi ime i prezime: ");
imePrezime=ulaz.readLine();
System.out.println("\nUnesi iznos uplacene rate: ");
uplRata=(new Integer(ulaz.readLine())).intValue();
ukUplIznos=(ukUplIznos+uplRata);
System.out.println("\nUkupni uplaceni iznos polaznika " +imePrezime+ " je: " +ukUplIznos);
}
//Listanje spiska duznika
System.out.println("\nSpisak duznika : ");
for(int i=0;i<k;i++){
if(ukUplIznos<cenaKursa){
System.out.println("\n"+imePrezime+ "\nOstatak duga iznosi : " +(cenaKursa-ukUplIznos));
}
}

}
}


E sad,ne mogu da prokljuvim kako da uradim ovaj deo:"listanje polaznika izabranog kursa i njihovog ukupnog broja".
Nadam se da mi neko moze pomoci,i napisati taj deo coda!
I,da li je uopste uredu napisati code kako sam ga ja napisao,ili mozda postoji i neki drugi nacin?!
Unapred zahvalan..
Veliki pozdrav.
 
Odgovor na temu

nesa0802
Nebojsa Gajic

Član broj: 147970
Poruke: 20
79.101.218.*



Profil

icon Re: Potrebna pomoc oko java aplikacije25.10.2008. u 15:50 - pre 188 meseci
Napravio si gresku u delu koda kojim unosis podatke o polaznicima sa tastature.
Umesto
Code:
imePrezime=ulaz.readLine();
treba da pises
Code:
imePrezime[i]=ulaz.readLine();

posto ovako kako ti radis svakim novim unosom podataka o polazniku ti ustvari samo prepravljas prethodno unete informacije
tj. radis samo sa prvim elementom niza String[]imePrezime;
Drugo ovo ti nije bas najbolji nacin za realizaciju liste. Trebalo bi da napravis neku strukturu polaznik koja bi sadrzala sve informacije o polazniku pa da zatim napravis niz tih struktura.
Jos bolje resenje bi bilo da napravis Klasu Polaznik, ali pretpostavljam da to ne znas objektno-orijentisano programiranje posto kazes da si pocetnik.

[Ovu poruku je menjao nesa0802 dana 25.10.2008. u 20:59 GMT+1]

[Ovu poruku je menjao nesa0802 dana 25.10.2008. u 21:00 GMT+1]

[Ovu poruku je menjao nesa0802 dana 25.10.2008. u 21:01 GMT+1]
 
Odgovor na temu

zigizig

Član broj: 42968
Poruke: 167
*.cust.blixtvik.se.



+10 Profil

icon Re: Potrebna pomoc oko java aplikacije25.10.2008. u 20:42 - pre 188 meseci
Slazem se sa nesa0802 u potpunosti kada je u pitanju objektno-orjentisani pristup.
Ako nemas zelju da se zanimas sa Javom i programiranjem onda skrpi nesto samo da radi da ne gubis vreme. Resenje koje si predstavio u principu nema nikakve veze sa java programiranjem vec vise lici na neki script jezik :) prepravljen da radi kao java program.
A ako imas zelju da uradis kako treba onda moras da koristis objektno-orjentisano programiranje.
To ukratko znaci da pocnes da pravis klase koje sadrze informacije koje ti trebaju.
U ovom slucaju to bi recimo bila klasa Polaznik i klasa Kurs, s tim sto bi u klasi Polaznik kreirao listu kurseva.
Nesto ovako:
Code:
public class Kurs {

    private String nazivKursa;
    private int cenaKursa;

    public String getNazivKursa() {
        return nazivKursa;
    }

    public void setNazivKursa(String nazivKursa) {
        this.nazivKursa = nazivKursa;
    }

    public int getCenaKursa() {
        return cenaKursa;
    }

    public void setCenaKursa(int cenaKursa) {
        this.cenaKursa = cenaKursa;
    }
}

Code:
public class Polaznik {

    private String ime;
    private String prezime;
    private Date godinaRodjenja;
    private int ukupnoUplaceno;
    private List<Kurs> kursevi;

    public String getIme() {
        return ime;
    }

    public void setIme(String ime) {
        this.ime = ime;
    }

    public String getPrezime() {
        return prezime;
    }

    public void setPrezime(String prezime) {
        this.prezime = prezime;
    }

    public Date getGodinaRodjenja() {
        return godinaRodjenja;
    }

    public void setGodinaRodjenja(Date godinaRodjenja) {
        this.godinaRodjenja = godinaRodjenja;
    }

    public int getUkupnoUplaceno() {
        return ukupnoUplaceno;
    }

    public void setUkupnoUplaceno(int ukupnoUplaceno) {
        this.ukupnoUplaceno = ukupnoUplaceno;
    }

    public List<Kurs> getKursevi() {
        return kursevi;
    }

    public void setKursevi(List<Kurs> kursevi) {
        this.kursevi = kursevi;
    }
}



A sto se tice main metode samo sam donekle prepravio tvoju i neka ti ovo samo posluzi kao primer, mada je takodje linerno uradjeno
Code:
public static void main(String[] args) throws NumberFormatException,
            IOException, ParseException {
        BufferedReader ulaz = new BufferedReader(new InputStreamReader(
                System.in));
        System.out.print("Unesite broj kurseva:");
        int k = (new Integer(ulaz.readLine())).intValue();
        List<Kurs> kursevi = new ArrayList<Kurs>();
        for (int i = 0; i < k; i++) {
            Kurs kurs = new Kurs();
            System.out.println("Unesite naziv kursa " + (i + 1) + ":");
            kurs.setNazivKursa(ulaz.readLine());
            System.out.println("Unesite cenu kursa:");
            kurs.setCenaKursa(Integer.parseInt(ulaz.readLine()));
            kursevi.add(kurs);
        }
        System.out.print("Unesite broj polaznika:");
        k = Integer.parseInt(ulaz.readLine());
        List<Polaznik> polaznici = new ArrayList<Polaznik>();
        SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
        for (int i = 0; i < k; i++) {
            Polaznik polaznik = new Polaznik();
            System.out.println("Unesite ime polaznika " + (i + 1) + ":");
            polaznik.setIme(ulaz.readLine());
            System.out.println("Unesite prezime polaznika " + (i + 1) + ":");
            polaznik.setPrezime(ulaz.readLine());
            System.out.println("Unesite datum rodjenja polaznika " + (i + 1)
                    + ":");
            polaznik.setGodinaRodjenja(sdf.parse(ulaz.readLine()));
            System.out.println("Izaberite kurseve za polaznika " + (i + 1)
                    + ":");
            for (int j = 0; j < kursevi.size(); j++) {
                System.out.println((j + 1) + "."
                        + kursevi.get(j).getNazivKursa());
            }
            List<Kurs> kurseviPom = new ArrayList<Kurs>();
            int indexKursa = 0;
            // while (true) {
            // try {
            // indexKursa = Integer.parseInt(ulaz.readLine());
            // } catch (RuntimeException e) {
            // // TODO Auto-generated catch block
            // break;
            // }
            // if (indexKursa > 0 && indexKursa < kursevi.size()+1) {
            // kurseviPom.add(kursevi.get(indexKursa - 1));
            // } else {
            // break;
            // }
            // }
            for (int j = 0; j < kursevi.size(); j++) {
                try {
                    indexKursa = Integer.parseInt(ulaz.readLine());
                } catch (RuntimeException e) {
                    // TODO Auto-generated catch block
                    break;
                }
                if (indexKursa > 0 && indexKursa <= kursevi.size()) {
                    kurseviPom.add(kursevi.get(indexKursa - 1));
                } else {
                    break;
                }
            }
            if (kurseviPom != null) {
                polaznik.setKursevi(kurseviPom);
            }
            polaznici.add(polaznik);
        }
        System.out.println("\n\nPolaznici i kursevi\n");
        for (Polaznik polaznik : polaznici) {
            System.out.println("Ime i prezime: " + polaznik.getIme() + " "
                    + polaznik.getPrezime());
            System.out.println("Datum rodjenja: "
                    + sdf.format(polaznik.getGodinaRodjenja()));
            for (Kurs kurs : polaznik.getKursevi()) {
                System.out.println("Kurs: "+kurs.getNazivKursa());
            }
            System.out.println("--------------------------\n");
        }
    }


[Ovu poruku je menjao zigizig dana 26.10.2008. u 09:43 GMT+1]

[Ovu poruku je menjao zigizig dana 26.10.2008. u 09:50 GMT+1]
 
Odgovor na temu

oceansoul
Student
Novi Sad

Član broj: 198715
Poruke: 2
*.adsl-a-1.sezampro.yu.



Profil

icon Re: Potrebna pomoc oko java aplikacije29.10.2008. u 10:07 - pre 188 meseci
Hvala veliko svimo,mnogo mi je znacilo to!
Nije mi bas funkcionisao code koji ste postovali,ali sam uspeo da povezem i sada sam shvatio neke stvari!
Definitivno cu se baciti na oop!
Jos jednom hvala svima.
Pozdrav..
 
Odgovor na temu

zigizig

Član broj: 42968
Poruke: 167
*.sme.bredbandsbolaget.se.



+10 Profil

icon Re: Potrebna pomoc oko java aplikacije30.10.2008. u 08:38 - pre 188 meseci
Ne znam sta nisi uradio kako treba pa ti primer nije radio.
Treba samo da importujes potrebne biblioteke u svakoj klasi, main stavi u klasu Polaznici i neka ti obe klase budu u istom paketu (mozda za tebe to i nije 'samo' ;).
U svakom slucaju ako koristis eclipse ili netbeans ne bi trebalo da imas problem, ako ih ne koristis pocni sto pre jer su uglavnom to dva glavna alata za razvoj Java aplikacija/programa...
Za pocetak ce ti biti lakse sa netbeans i njega ti prvo preporucujem. I ja sam kasnije presao na eclipse ali za pocetnika zna da bude mucenje.
 
Odgovor na temu

[es] :: Java :: Potrebna pomoc oko java aplikacije

[ Pregleda: 2178 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.