Evo otvaram ovu temu jer sam se počeo baviti programiranjem u Javi pa ću ovdje postavljati pitanja kada zapnem a nadam se da će netko odgovoriti. Također i drugi mogu postaviti pitanja ako se bave programiranjem u Javi.
Java programiranje
- poruka: 402
- |
- čitano: 183.292
- |
- moderatori:
Lazarus Long, XXX-Man, vincimus
Evo prvi problem. Učim po knjizi Objects first with Java, stvarno je odlična, kupio za sitne pare preko ebay-a a mnogi je preporučuju.
Uglavnom, od mene se traži da conditional statementom (dakle if...) provjerim je li duljina stringa veća ili jednaka 4.
Problem je što ja nikako ne mogu skužiti kako to napraviti. Ovo mi je već drugi put da čitam knjigu ispočetka jer sam mislio da sam možda jednostavno prekočio taj primjer, ali zbilja ga nema.
Zato molim nekoga tko se razumije da mi napiše kod kojim bih provjerio je li string dulji od četiri znaka. String se zove fullName
Hvala.
Uspio sam riješiti problem! http://www.java-examples.com/java-string-length-example
Malo mi je čudno da toga nije bilo u knjizi... Javim se (vjerojatno uskoro) sa novim problemom :)
Zašto bi ti to trebao biti neki problem - samo provučeš uvjet kroz if naredbe
Nisam nikad radio u Javi - ali to je svugdje slično:
using System;
using System.Collections.Generic;
using System.Text;
namespace DuljinaStringa
{
class Program
{
static void Main(string[] args)
{
string recenica = Console.ReadLine();
if (recenica.Length == 4)
{
Console.WriteLine("Duljina stringa je 4");
}
else if (recenica.Length < 4)
{
Console.WriteLine("Duljina stringa je manja od 4");
}
else
{
Console.WriteLine("Duljina stringa je veća od 4");
}
}
}
}
Problem je što nisam bio upoznat sa ovom length metodom, a knjiga to nije dobro objasnila. Zato sam ostao zbunjen. No hvala na pomoći, kao što vidiš, riješio sam problem :)
Nemoj se držati knjige ko pijan plota. Uz knjigu koristi se internetom, guglanjem, razmišljanjem i slično. Niti jedan programer nije ništa naučio samo da je pročitao knjigu.
Ma dobro, ova knjiga je stvarno super.
Nego, googlao sam ja ali sam kreten prvo napisao lenght (umjesto length) pa nije radilo :)
Pozdrav. Evo novog problema :) Koristim BlueJ za programiranje/kompajliranje. Uglavnom, napisao sam jedan programcic i spremim ga kao .jar file (postoji opcija u BlueJ), pri tom sam odredio main class. Zatim pokušam pokrenuti taj jar file i kaže mi da ne može pronači main class: PrikazSata (tako mi se zove glavna klasa). Pogledam u manifest datoteku i sve je dobro namješteno (BlueJ ju sam generira), ostavljena je prazna linija na kraju...
Googlam ali ne mogu naći riješenje. Savjeti su tipa jarfix, updateaj javu itd. ali meni je sve dobro, samo mi ne želi naći tu klasu iz nkogg raloga.
Zna netko kako riješiti problem?
EDIT: I nije problem u kodu jer se isti problem javlja i kod exportanja projekata koj isluže kao primjer a dobio sam ih na cd-u uz knjigu.
Stavi kod da vidimo. I moj savjet ti je da javu programiras u NetBeansima ili Eclipsu. Obadvoje su besplatni i većina (ako ne i svi) koriste njih.
Kao što rekoh, nije do koda jer mi istu grešku javlja i sa projektima koji su došli na cd-u.
Glavna klasa
Pomoćna klasa
BlueJ koristim jer je stvarno jako dobar, probao sam već netbeans i nije mi dobar za učenje. A iknjiga radi po BlueJ pa zato korištenje istog.
Ne bih ga mijenjao.
Da li ima neko ko se bavi sistemskim programiranjem u javi hitno mi je potrebna pomoc?
Pozdrav. Evo novog problema :) Koristim BlueJ za programiranje/kompajliranje. Uglavnom, napisao sam jedan programcic i spremim ga kao .jar file (postoji opcija u BlueJ), pri tom sam odredio main class. Zatim pokušam pokrenuti taj jar file i kaže mi da ne može pronači main class: PrikazSata (tako mi se zove glavna klasa). Pogledam u manifest datoteku i sve je dobro namješteno (BlueJ ju sam generira), ostavljena je prazna linija na kraju...
Googlam ali ne mogu naći riješenje. Savjeti su tipa jarfix, updateaj javu itd. ali meni je sve dobro, samo mi ne želi naći tu klasu iz nkogg raloga.
Zna netko kako riješiti problem?
EDIT: I nije problem u kodu jer se isti problem javlja i kod exportanja projekata koj isluže kao primjer a dobio sam ih na cd-u uz knjigu.
java -jar komanda ili samo java?
Ako ti niti to ne želi pokrenuti jar, probaj sa nazivom klase koje sadrži main. Java -jar "ime jar-a" "ime klase sa package-ima" (ali ako kažeš da je sve ok u manifestu, onda ne bi trebao ovako pokretati, on bi trebao iz manifesta naći koja ti je main klasa)
EDIT :
Sad sam tek vidio kod koji si ostavio. Pa nigdje nemaš main metodu.
Dodaj u glavnu klasu "public static void main (String[] args)" i unutar te metode alociraj svoju "glavnu klasu"
Da li ima neko ko se bavi sistemskim programiranjem u javi hitno mi je potrebna pomoc?
Što se podrazumjeva pod "sistemsko programiranje"?
Baci ovdje što ti treba, što te mući, pa možda zna netko rješenje problema.
Hvala na odgovoru. S obzirom da u knjizi to nije spomenuto (niti ne znam čemu bi služio dio String[] args), neću se još time baviti.
Hvala svejedno ;)
Hvala na odgovoru. S obzirom da u knjizi to nije spomenuto (niti ne znam čemu bi služio dio String[] args), neću se još time baviti.
Hvala svejedno ;)
Hmmmm
Pa to je trebalo biti spomenuto, jer je to osnova osnove.
Znači svaka klasa koju misliš pokretati bi trebala imati tu metodu.
public static void main(String[] args){
///bla bla aplikacija
}
Ovaj String[] args su ti ulazni parametri aplikacije. To je prva metoda koju JVM pokreće i sve kreće od nje. Ako si pokretao bilo koju aplikaciju do sada, onda je ona morala imati ovu metodu.
Evo za proučavanje materijala
Radim u BlueJ.
Ovako sam do sada naučio:
Svaka klasa mora imati constructor (istog imena kao i ime klase). On postavlja sve varijable na određenu vrijednost itd. U knjizi još nije spomenuta riječ static, kao ni String[] args.
Kniga je jako kvalitetna i mnogi je preporučju tako da sumnjam da je nešto izostavljeno. Vjerojatno će mi to biti 'otkriveno' kasnije. Jedino ako nije stvar u tome što je ovo starije izdanje (aktualan je bio JDK 5)
EDIT: Samo da napomenem, u bluej mogu normalno kompajlirati i pokrenuti gore navedene klase.
OMG
Sad sam malo pogledao taj BlueJ.
DEBELO PREPORUČAM IZBJEGAVATI
Svi koji se žele naučiti programirati u Javi izbjegavati ovaj IDE.
Ovo je koma živa. Kao prvo IDE pokušava sve napraviti za korisnika. Pokušava se programiranje svesti na klikanje itd. Čak IDE emulira pokretanje (tj. nije potrebna main metoda, pretpostavljam da instancira korisnikovu početnu klasu unutar neke svoje klase koja ima main), nema intelli (ajde to mu niti ne treba, ali dobro dođe).
Vidi se da je IDE napravljen samo za učenje Jave, ali ne i za rad na nekim projektima.
Moj savjet ti je da odabereš bilo koju drugu knjigu i bilo koji drugi IDE i onda definitivno nećeš imati ovakvih problema (kao što ih imaš sad), jer ćeš u toj knjigi pročitati o main metodi.
Ovo su banalni problemi koji se tebi javljaju. Moja preporuka, rađe nabavi neki drugi IDE (Intelli, Netbeans, Eclipse), prebrodi upoznavanje sa njime, uzmi drugu knjigu i kreni ispočetka.
Bilo koju drugu da se ne bazira na BlueJ
Pa gle, ja upravo to i radim, učim Java programiranje. Ne radim na nekim projektima.
Ako ja uz pomoć BlueJ skužim programski jezik, sumnjam da će mi biti problem prebaciti se na neki drugi IDE. Ja mislim da je ovo baš super za učenje iz razloga što imam dosta toga vizualizirano, pa lakše shvatim neke stvari. Npr, skinuo sam i NetBeans i nisam ništa skužio. Imao san na odabir novi projekt i ja tamo trebam odabrati vrstu projekta. Logično, odabrah desktop app i onda mi on izbaci svoj template a ja pojma nemam šta je to i čemu služi.
Ovako, kroz BlueJ shvačam sve šta čemu služi, nije klikanje kako kažeš jer ja zbilja pišem kod, iz tvoje poruke dalo bi se isčitai da je to nešto poput korištenja aplikacije za izradu web stranica kroz gui.
I pa iako znam da imaš pojma o čemu pričaš, mislim da su profesori koji imaju puno godina iskustva iza sebe (jedan je čak i sudjelovao u izradi BlueJ-a), ipak kompetentniji.
Razlog što sam uzeo ovu knjigu jest što su je mnogi preporučali kao savršenu za početnike, a ja to jesam, jer prije čitanja knjige pojma nisam imao o Javi.
Pa gle, ja upravo to i radim, učim Java programiranje. Ne radim na nekim projektima.
Ako ja uz pomoć BlueJ skužim programski jezik, sumnjam da će mi biti problem prebaciti se na neki drugi IDE. Ja mislim da je ovo baš super za učenje iz razloga što imam dosta toga vizualizirano, pa lakše shvatim neke stvari. Npr, skinuo sam i NetBeans i nisam ništa skužio. Imao san na odabir novi projekt i ja tamo trebam odabrati vrstu projekta. Logično, odabrah desktop app i onda mi on izbaci svoj template a ja pojma nemam šta je to i čemu služi.
Ovako, kroz BlueJ shvačam sve šta čemu služi, nije klikanje kako kažeš jer ja zbilja pišem kod, iz tvoje poruke dalo bi se isčitai da je to nešto poput korištenja aplikacije za izradu web stranica kroz gui.
I pa iako znam da imaš pojma o čemu pričaš, mislim da su profesori koji imaju puno godina iskustva iza sebe (jedan je čak i sudjelovao u izradi BlueJ-a, ipak kompetentniji.
Razlog što sam uzeo ovu knjigu jest što su je mnogi preporučali kao savršenu za početnike, a ja to jesam, jer prije čitanja knjige pojma nisam imao o Javi.
OKE, kako ti kažeš, pokušao pomoći, valjda tih 10 zadnjih godina pisanja Java aplikacija nisu relevantni.
Ako učiš jezik onda ga uči kako spada. Napišeš klasu, ali je ne znaš instancirat, tj. niti ne znaš što je main metoda.
Oke nastavi sa tim IDE-om, pa ćemo vidjeti kako ćeš se "snaći" kad ćeš htjeti napraviti neki projekt ili se prebaciti na druga IDE rješenja. Taj BlueJ mi se čini kao "learning tool", a ne kao IDE.
Uživaj
EDIT :
Dobra literatura :
Nadam se da se nisi našao uvrijeđenim, jer to niti najmanje nije bila moja namjera. Kao što si mogao i pročitati, naveo sam ti da mi je donekle poznata tvoja upučenost u stvari.
Ne kužim u čemu je problem ako, kako ti kažeš, BlueJ služi kao learning tool. Zar nije to upravo ono što mi treba? Zašto bih ga onda izbjegavao.
Siguran sam milijun posto da ću kada do kraja pročitam i zbilja naučim knjigu znati što je main metoda i kako ju koristiti.
I opet, nisam rekao da nisi relevantan, već nisi 'učitelj Jave'. Autori knjige jesu upravo to. Dapače, ako je vjerovati googlanju, imaju pozamašnu karijeru iza sebe, a ovo u knjizi nije 'samohvaljenje', već, kako sam rekao, knjiga se preporuča od mnogih ljudi.
EDIT: Također, knjiga i BlueJ je preporučena za one koji kreču ispočetka. Vidim da ova prvaknjiga nije tome namijenjena, a druga mi je svakako preskupa.
Dado je u pravu.
Uzmi usporedbu - zelis voziti auto, ali treniras na biciklu s tri kotaca... ne ide to tako.
Uzmi normalni IDE, nabrojao ih je on nekoliko - ja osobno preporucam IntelliJ, i pocni programirati. Ovo o cemu ti pricas, ucenje Jave kroz IDE koji te ne uci Javi nego nekim svojim principima, je prazno znanje.
Uostalom, u normalnom IDE-u nemas bog zna koliko puno vise posla... i cim prije naucis to, to bolje za tebe.
Ah, i da se osvrnem na te preporuke i slicno.... akademske stvari funkcioniraju u akademskoj okolini. Ako zelis biti dobar programer, onda slusaj ljude koji na tome zaradjuju zadnjih 10 godina.
Hvala na komentaru. Ali i dalje me niste uvjerili :)
Ovako ja to vidim: vi se razumijete u programiranje i zato je vama svejedno koji IDE koristite. Ja na primjer krečem od nule (dobro, sad je negdje 0,00001) i znači nemam pojma o ničemu.
Upalim NetBeans i dočeka me odabir templatevoa, odaberem logično, desktop aplikaciju, on meni autmatski loada neke library-je, čak mi uplai i odjeljak u kojem odmah mogu dizajnirati GUI.
Upalim BlueJ, dočeka me jednostavno sučelje, napravim novi projekt i samo pišem. Čak mi i vizualizira zavisnost klasa (radi boljeg shvačanja koja utječe na koju), ja sam mogu kreirati objekte (dakle vizualno mi dočarava stvaranje obekata iz klasa) itd.
Ne znam, meni se čini da e BlueJ više namijnjen meni.
A i pričate kao da ja neću znati pisati kod u Javi ako koristim BlueJ. A za pravo, jedino što smo do sad shvatili jest da nisam upoznat sa označavanjem main metode.
Ja ne očekujem da ću stvarati aplikacije kada završim s ovom knjigom. Ono što sam siguran jest da ću znati pisati strukturu programa i sam program, a kada jednom naučim ovu knjigu, koliko će mi lakše biti kada krenem sa nekom 'ozbiljnijom' knjigom koja koristi 'ozbiljniji' IDE
Dakle, ono što hoću reči jest da koristeči BlueJ mogu puno brže shvatiti programiranje nego koristeći eki drugi IDE (NetBeans npr.), a kasnije, kada od ove knjige više ne budem imao što naučiti, prei ću na neku drugu koja koristi drugi IDE.
Što mislite o tome?
Ja mislim da si tvrdoglav i trazis pomoc, ali je ne zelis prihvatiti jer ne ide u smjeru u kojem zelis.
Ako ti dvoje ljudi s 10godisnjim iskustvom savjetuje da odbijes od BlueJ-a i da uzmes normalni IDE, a ti se diskutiras - ne vidim o cemu se ima dalje pricati?
Ma gle, samo želim biti uvjeren da ste u pravu, neda mi se opet tražit knjigu i bacat pare kad sam već ovu kupio.
Daj mi onda preporučite neku knjigu koja stvarno jest za početnike ali da ne košta milijun kuna kao ona gornja preporuka. Hvala.
Pa nije problem u knjizi? Zar se knjiga drzi iskljucivo BlueJ-a? Mislio sam da je to knjiga o Javi?
Ako knjiga trazi BlueJ za rad, onda nemas bas puno izbora... dovrsi knjigu, nauci sto mozes, i onda kreni s normalnim IDE-om.
Osobno, preporucam HeadFist seriju knjiga. Iako ne volim previse kupovati strucne knjige jer smatram da je Internet puno bolji izvor svih informacija, ove knjige su fenomenalno napisane.
Da, knjiga se drži isključivo BlueJ-a i svi su primjeri u istom. Kao što sam napisao, koautor knjige je i koautor BlueJ-a.
Ja bih eto rado uštedio 300 kuna ali ako želim drugi IDE, moram kupovati novu knjigu.
A što se tiće toga da je internet bolji, ne bih se složio (opet ja jel :D) jer mi je u knjizi sve sistemataski objašnjeno i nema (ili ne bi trebalo biti) preskakanja, dok je na netu sve to razbacano.
Da ne spomenem koliko mi je lakše čitati i shvatiti nešto sa pravog papira nego sa ekrana.
Ti ne misliš tako?
Tesko mi je objektivno ovo zakljuciti, sto zbog iskustva, sto zbog nacina na koji razmisljam. Mislim da je knjiga definitivno bolji izbor ako trazis sistematicnost. No onda s druge strane, imas krdo besplatnih tutoriala na internetu, koji su nekad bezvezni a nekad odlicni.
Znam, zato ti i kažem, knjiga izgleda puno bolje riješenje iz moje perspektive. Radije ću uložiti tristo kuna za sistematičnost (koja je meni kao neznalici dakako potrebna) nego kopati po internetu šta je ovo a šta ono (kada se to autor tutoriala ne dosjeti napisati)
Hmmm....
Nije li ocito da i autor knjige podlijeze istom problemu? Inace ova tema ne bi postojala
Vidi ovaj tutorial npr. - online kopija cetvrtog izdanja knjige: http://download.oracle.com/javase/tutorial/getStarted/index.html
On kaže da je ta knjiga dobra, ok, možda i jest
međutim po kojoj to logici prije uči konstruktor klase nego string[] args
dakle, prije uči instancirati kasu nego što zna tipove varijabli
ja sam bar godnu dana utrošio učeći osnovne stvari i vježbajući zadatke dok sam uopće čuo za klase
Ako već pita savjet - onda bi ga trebao i uvažiti - čovjek mu je rekao da ne koristi taj IDE - nema intelli -
pametome dosta - batali, uzmi nešto što valja