Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 11 odgovora
  • 7.643 pregleda

Najnovija ↓

pocetnicko pitanje 11.11.2003. u 10:40 · pre 279 meseci #1
Zdravo svima.

Totalni sam pocetnik u Javi i imam jedno (mozda) glupo pitanje:
recimo da imam fajl nekiprog.java. KOmpajliram ga sa "javac nekiprog.java", a izvrsavam ga sa "java nekiprog".

E sad, ako hocu da pri izvrsavanju dam i neke argumente, kako to radim?
Probao sam "java nekiprog(argument)", "java nekiprog argument", ali ne moze.

Hvala unapred.
Re: pocetnicko pitanje 11.11.2003. u 10:55 · pre 279 meseci #2
Argumenti se zadaju u produžetku komandne linije (druga varijanta koju si naveo), ali se ne navodi ime programa već ime klase koju želiš da izvršiš. Tako ako si napisao program MojProgram.java koji sadrži klasu MojProgram, pokrećeš sa:

java MojProgram arg1 arg2 arg3

i ne zaboravi da main metoda mora da bude deklarisana kao

public static void main(String[] args)

...

(tj. verovatno ne mora da bude void i sl, ali sam primetio da ako je lista argumenata prazna da java ne prepozna ime)
Re: pocetnicko pitanje 11.11.2003. u 12:03 · pre 279 meseci #3
Citat:
rgumenti se zadaju u produžetku komandne linije (druga varijanta koju si naveo), ali se ne navodi ime programa već ime klase koju želiš da izvršiš. Tako ako si napisao program MojProgram.java koji sadrži klasu MojProgram, pokrećeš sa:

java MojProgram arg1 arg2 arg3


OK, probao sam i sljaka. Ali nesto me buni u tvom odgovoru. Koliko sam do sad ukapirao, .java fajl mora da ima isto ime kao i public klasa definisana u tom fajlu.

Da li je moguce da se u jednom .java fajlu definise vise public klasa? Da li je moguce navoditi argumente za te druge klase?

Na primer, ako imam fajl MojProgram.java, i njemu klase MojProgram i MojProgram1,
da li je moguce napisati

java MojProgram1 arg1 arg2

a da se izvrsi main funkcija iz klase MojProgram?
Re: pocetnicko pitanje 11.11.2003. u 12:21 · pre 279 meseci #4
U jednom java fajlu moze biti samo jedna public klasa (time ostala pitanja gube smisao)
Potpis
<< tko leti vrijedi, tko ne leti ne vrijedi >>
Re: pocetnicko pitanje 11.11.2003. u 12:53 · pre 279 meseci #5
Mislim da main ipak mora da bude void.. tj. ta standardna deklaracija (public static void main) je cela obavezna.
Re: pocetnicko pitanje 12.11.2003. u 09:54 · pre 279 meseci #6
Mora da bude:

Code:
public static void main(String[] arg)


Tako i nikako drugačije, naravno osim imena promenljive arg.

Ono što je bitno napomenuti je da arg[0] nije ime programa kao u C-u.
Doduše i projam "program" ne postoji u Javi ...

Mala digresija: u C# može nekoliko stvari:
1. Ime funkcije može da bude i
Code:
public static void Main(String[] arg)

(dakle, početno slovo je veliko)

2. Može da bude bez parametara
Code:
public static void main()


3. Mislim da ne mora da bude void
Potpis
OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji
Re: pocetnicko pitanje 12.11.2003. u 14:52 · pre 279 meseci #7
Eee pa nisi u pravu ne mora samo tako da bude, može i ovako:

Code:

public static void main(String arg[])


Nisam menjao ime promenljive arg.
Re: pocetnicko pitanje 13.11.2003. u 10:58 · pre 279 meseci #8
Citat:
Gojko Vujovic:
Eee pa nisi u pravu ne mora samo tako da bude, može i ovako:

Code:

public static void main(String arg[])


Nisam menjao ime promenljive arg.



:) Jes, vala u pravu si.
Ja sam još u samom početku batalio takav način deklarisanja promenljivih. Mislim da je nekonzistentan (ružne li reči), zbunjujuć i neopravdano omogućen. Mislim da u C# to nije dozvoljeno.
Pozdrav.
Potpis
OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji
Re: pocetnicko pitanje 13.11.2003. u 23:05 · pre 279 meseci #9
U C#-u metod "Main" MORA da se pise velikim slovom 'M' znaci pise se.
Code:


static void Main(string[] args)



Nego meni nije jasno sta ti se ne svidja kod deklarisanja promenljivih?
Potpis
"If you do what you always did! - You will get what you always got!"
Re: pocetnicko pitanje 14.11.2003. u 10:29 · pre 279 meseci #10
Izgleda da si se meni obratio.

Kazem, ne svidja mi se ( na primer ) :
Code:
 String names[]


mislim da je mnogo lepse (smem li reci pravilnije ? ):
Code:
 String[] names


Zato sto se kod definisanja tipa daje do znanja da je to array.
I kao sto rekoh ne vidim nikakav razlog zasto su u Javi dozvoljena sva tri oblika:

Code:
 
String[] names
String names[]
String[] names[]


A ono ok C# sam pricao malo napamet, po secanju. (priznajem)
Mora da bude Main, dakle veliko slovo, ali ne mora da ima parametre, i ne mora da bude void.
Potpis
OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji
Re: pocetnicko pitanje 14.11.2003. u 21:59 · pre 279 meseci #11
Hm zanimljivo! Naime tebi sam se obratio jer sam mislio da mislis bas obrnuto :). Odnosno meni se bas

Code:


String[] neki_niz;



ne svidja vec mi je ovo nekako logicnije.

Code:


String neki_niz[];



U svakom slucaju ovo sve nije bitno :) ali sam samo hteo da razjasnim sta sam mislio :)
Potpis
"If you do what you always did! - You will get what you always got!"
Re: pocetnicko pitanje 17.11.2003. u 08:22 · pre 279 meseci #12
Nisam znao da ce moje pitanje izazvati takvu polemiku. Hvala svima na pomoci.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme