Problem s jazykom Java

Programovacie jazyky, rady, poradňa...
paul33
Amateur
Amateur
Príspevky: 16
Registrovaný: 25 feb 2006, 11:13

Problem s jazykom Java

Príspevok od používateľa paul33 »

Caute, potreboval by som pomoct so semestralkou z informy...jedna sa o vyuzitie databaz v jazyku Java...
Toto je moje source a mam tam zmenit niektore veci(vid. nizsie)

Mohol by mi niekto poradit, ako to spravit inac, pripadne napisat source na to ? Fakt si neviem rady, ako to spravit podla poziadavok profaka...(vid.nizsie)

Source programu:
import java.io.* ;
import java.util.Scanner;

public class Menu
{

/**
* Constructor for objects of class Menu
*/

private DatabazaProduktov pridajProdukty;
private Menu M;
public static boolean finalStatus;
public static String vstup;
public static char inp;
private int P=0; // pocet poloziek
char[] z; // pole znakov, urcujuce pristup k polozkam
String[] polozka; // pole retazcov
private static final int pl=30; //max.pocet poloziek


public Menu(int M)
{
pridajProdukty = new DatabazaProduktov() ;
pridajProdukty.vytvorNotebooky();
pridajProdukty.vytvorPC();
}

public void VlozProdukt(int pos,String Z,char s)
{
this.z[pos-1]=s;
this.polozka[pos-1]=Z;
}
public void UvodnaObrazovka() // formalita
{
System.out.println("Vitajte v menu");
}

public static void main(String [] args)
{
Scanner sc=new Scanner(System.in);
do{
String ponuka = ("\f\n1) Zoznam notebookov ..........stlac N \n2) Zoznam PC ..........stlac P \n3) Koniec ..........stlac K");

System.out.println(ponuka);
vstup=sc.nextLine();
inp=vstup.charAt(0);
if (inp=='P') {
System.out.println(DatabazaProduktov.produkty1[0]); System.out.println(DatabazaProduktov.produkty1[1]); // vypis zoznam produktov notebooky
System.out.println(DatabazaProduktov.produkty1[2]);System.out.println(DatabazaProduktov.produkty1[3]); // vypise zoznam produktov PC


}
if (inp=='K')
System.out.print("\f");
if (inp=='N') {
System.out.println(DatabazaProduktov.produkty1[4]); System.out.println(DatabazaProduktov.produkty1[5]);
System.out.println(DatabazaProduktov.produkty1[6]);System.out.println(DatabazaProduktov.produkty1[7]);// vypis zoznam produktov notebook
}

menuAnoNie();
if (finalStatus==true){
int cisloProduktu=sc.nextInt();
VypisProdukty(cisloProduktu);
}
} while ((finalStatus==false)||(inp=='K'));
}


private static void menuAnoNie()
{
String tString;
char inp;
boolean finalStatus=true;

Scanner vstup = new Scanner (System.in); // nacitava vstup z klavesnice

System.out.println("Zelate si nieco objednat ?::");
System.out.println ("1 Áno: …..stlac A");
System.out.println ("2 Nie: …..stlac N");
do{
tString = vstup.nextLine();
inp = tString.charAt(0); // bude citat 1. znak
if (inp=='A') {
finalStatus = true; // Ak bude stlacene "A" tak hodnota je true, tj. Pravda

}
if (inp=='B') finalStatus = false; // Ak bude stlacene "N" tak hodnota je false, tj. nepravda
}while(finalStatus);
}

private static void VypisProdukty(int index) // v pripade, ze hodnota finalStatus je true, tj. pravda, tak sa vypisu produkty podla volby, tj. bud notebooky alebo PC
{
System.out.println("Nazov produktu: " + DatabazaProduktov.produkty1[index].GetMeno()); // vypise vybrane produkty
System.out.println("Cena produktu: " + DatabazaProduktov.produkty1[index].GetCena()); // vypise cenu vybranych produktov
System.out.println("Dakujeme za objednavku."); // dalsia formalitka :P
}

}
Poziadavky profaka na upravu:
1) Zoznam notebookov ..........stlac N
2) Zoznam PC ..........stlac P
3) Koniec ..........stlac K
N
Exception in thread "main" java.lang.NullPointerException
at Menu.main(Menu.java:63)

tieto objektove premenne su zle alokovane/priradene ! Dalej, preco nepouzivate cyklus na vypis ?

63 System.out.println(DatabazaProduktov.produkty1[4]); System.out.println(DatabazaProduktov.produkty1[5]);
64 System.out.println(DatabazaProduktov.produkty1[6]);System.out.println(DatabazaProduktov.produkty1[7]);// vypis zoznam produktov notebo

Znova, pre ich spravne priradenie do POLA OBJEKTOV nepouzivate lokalnu premennu:

produkty1 = new Produkty("Notebooky"); // nový produkt - notebooky
produkty1 = new Produkty("Stolove PC"); // nový produkt - PC


Za pomoc vopred dik
johny3212
Star
Star
Používateľov profilový obrázok
Príspevky: 532
Registrovaný: 17 feb 2008, 19:56
Bydlisko: Terchova
Kontaktovať používateľa:

Re: Problem s jazykom Java

Príspevok od používateľa johny3212 »

ja som podobny program s podobnym nametom (len daleko lepsi) robil kamoske 1.FRI v ZA . Velmi sa mi tam podoba par veci v tvojom programe, ale monzo sa mylim a trepem:). Chybu tam mas jednoducu, tak hladaj :D.
paul33
Amateur
Amateur
Príspevky: 16
Registrovaný: 25 feb 2006, 11:13

Re: Problem s jazykom Java

Príspevok od používateľa paul33 »

johny3212 napísal:ja som podobny program s podobnym nametom (len daleko lepsi) robil kamoske 1.FRI v ZA . Velmi sa mi tam podoba par veci v tvojom programe, ale monzo sa mylim a trepem:). Chybu tam mas jednoducu, tak hladaj :D.
Hm, hodil som ten problem co s tym mam sem, bo som ho nevedel najst sam :D
axxis
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3690
Registrovaný: 29 máj 2007, 21:53
Bydlisko: Spálené mlyny
Kontaktovať používateľa:

Re: Problem s jazykom Java

Príspevok od používateľa axxis »

johny3212 napísal:ja som podobny program s podobnym nametom (len daleko lepsi) robil kamoske 1.FRI v ZA . Velmi sa mi tam podoba par veci v tvojom programe, ale monzo sa mylim a trepem:). Chybu tam mas jednoducu, tak hladaj :D.
si Boh :roll:



cely ten program je zvlastny preco su vsetky triedne premenne verejne a staticke? (aby ich mali vsetky instancie rovnake a mohol si ich hociko volat kdeklvek a menit ich podla vole?)
preco mas triedy privatne a staticke? (aby neboli zavolatelne cez instanciu ale mohol si ich volat cez meno triedy, ktora nema ziadne konkretne udaje?)
to menuAnoNie sa Ti bude donekonecna opakovat kym niekto nezada FALSE?
v tom vlozProdukty - to si musis sam zadat miesto na ktore sa objekt ulozi?
alebo do metody menu Ti vstupuje Integerova premenna M a nikde ju tam nepouzijes.
a ten vypis produktov je divny, keby som pridal dva notebooky a jedno PC odobral co s tym spravis? budes program prepisovat? (preco tam nemas cyklus?)

a k tej chybe, kde priradujes objekty do toho pola? nevidim tam nikde ziadne new, tu chybu to vytvori zrejme preto, lebo si stvoris nejaku premennu noveho objektu (lokalnu) a ta zanikne skor ako ju ulozis do pola, takze do pola sa ulozi uz len NullPointer (neukazuje nikam) a ked sa to chystas zavolat tak to hodi vynimku
johny3212
Star
Star
Používateľov profilový obrázok
Príspevky: 532
Registrovaný: 17 feb 2008, 19:56
Bydlisko: Terchova
Kontaktovať používateľa:

Re: Problem s jazykom Java

Príspevok od používateľa johny3212 »

axXis a co to mne vravis, ja som sa k zdrojaku a syntaxu nevyjadroval, ale iba k teme a ze nech si chyby opravi sam, mne sa ich analyzovat nechcelo, este ze su tu taky ludia ako ty, ktori maju vela casu na hluposti....
axxis
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3690
Registrovaný: 29 máj 2007, 21:53
Bydlisko: Spálené mlyny
Kontaktovať používateľa:

Re: Problem s jazykom Java

Príspevok od používateľa axxis »

johny3212 napísal:axXis a co to mne vravis, ja som sa k zdrojaku a syntaxu nevyjadroval, ale iba k teme a ze nech si chyby opravi sam, mne sa ich analyzovat nechcelo, este ze su tu taky ludia ako ty, ktori maju vela casu na hluposti....
a co je toto Ty analyzator?
johny3212 napísal:ja som podobny program s podobnym nametom (len daleko lepsi) robil kamoske 1.FRI v ZA . Velmi sa mi tam podoba par veci v tvojom programe, ale monzo sa mylim a trepem:). Chybu tam mas jednoducu, tak hladaj :D.

vyjadroval si sa k tomu, ze vidis tu lahucku chybu, ktoru v tom ma a ma si ju rychlo najst s tym, ze Ty si takyto (ale omnoho lepsi) program robil...bla bla bla
za prve: ta chyba sa z tejto triedy odhalit neda (a ak hej tak kde je?), ale Ty ocividne svojim dokonalym algoritmickym myslenim vidis aj do tried, ktore tu nie su a vies citat implementacie metod, ktore sa na tomto fore nikde nevyskytuju
za druhe: ten program je uplne cely na hovno, chalan je zmateny, alebo byvaly pascalista alebo co a neovlada dobre objekty tak naohodil system: "nevidis premennu sprav z nej static". tieto chyby sa opravit ani nedaju a IMO kazdy program na svete by bol lepsi ako tento
za tretie: ja som tu chybu na rozdiel od Teba nasiel a program som uviedol do stavu, ze funguje (aj ked je vo svojej podstate cely zly)
za stvrte: ani nevies co ten program robi a vyjadrujes sa o tom, ze si spravil lepsi
za piate: az budes chciet nabuduce ukazat aky si mudry a skuseny programator skus to spravit tak aby si v konecnom dosledku nevyznel ako blbec
mier

P.S. keby si tie hluposti riesil mozno by si sa jedneho dna predsalen naucil programovat (nie ze by som ja bol nejaky skvely programator, som zaciatocnik, ale aspon nefrajerim s tym co neviem)
johny3212
Star
Star
Používateľov profilový obrázok
Príspevky: 532
Registrovaný: 17 feb 2008, 19:56
Bydlisko: Terchova
Kontaktovať používateľa:

Re: Problem s jazykom Java

Príspevok od používateľa johny3212 »

ty hlupak, nevrav, ked nevies. Nemas ani sajny o mne, akemu comu sa venujem a kde a v com pracujem a ake su moje poznatky, tak ma tu nesud, ty hovado, ze co viem a co neviem. Nemienim kecat s ludmi, ako si ty, ktori krituzuju, to co nepoznaju a z jednej zle pochopenej vety, vycucnu asi vsetko, ze?, ja sa s teba smejem :D.... koncim.....
paul33
Amateur
Amateur
Príspevky: 16
Registrovaný: 25 feb 2006, 11:13

Re: Problem s jazykom Java

Príspevok od používateľa paul33 »

paul33 napísal:
Hm, hodil som ten problem co s tym mam sem, bo som ho nevedel najst sam :D
Nemohlo by to byt tym, ze cely kruzok sme mali rovnake zadanie ? :O
Napísať odpoveď