Išmokau programuoti Java
Įrašyta 2007-10-15, 00:33 | 24 KomentaraiDĖMESIO! Turiu atsiprašyti žmonių, atėjusių iš paieškos svetainių, norinčių sužinoti apie programavimą Java kalba. Čia tokios informacijos nėra. Esu įsitikinęs, kad daugiausiai atklystančių žmonių yra pradedantieji programuotojai, todėl galiu jums pasiūlyti įvadą į programavimą, kuris palengvins jūsų dalią su Java ir ne tik.
Turiu draugą, studijuojantį KTU. Kadangi pas juos yra tokia taktika - mokyti tai, kas nelabai į temą, tai jam prisireikė mano pagalbos. Žmogus studijuoja humanitarinius mokslus, gyvenime su programavimu nesusidūręs, o univieras verčia jį programinti su java. Nepasakyčiau, kad geras sprendimas, juolab, kad "pradmenys" pas juos yra oop ir susiję dalykai.
Užduotis: Duotas sakinys. Surasti simbolių skaičių, tarp pirmo ir antro kablelių. Dalį kodo jam padėjo parašyti kursiokė, bet jis iki galo neveikė. Pradinis sprendimas buvo verstis eilutę į char tipo masyvą ir einant pro kiekvieną simbolį tikrinti. Na pradžiai labai daug vargom, kadangi su java sintakse nebuvau pažįstamas visiškai, bet galiausiai priėjom paprastą sprendimą:
int pirmasKablelis() { for (int i=0; i<mas.length;i++) { if ( mas[i] == ',' ) return i+1; } return -1; } int antrasKablelis() { boolean pirmasKablelis=false; for (int i=0; i<mas.length;i++) { if ( mas[i] == ',' ) { if (pirmasKablelis==false) { pirmasKablelis=true; } else return i+1; } } return -1; }
Tačiau tai dar nebuvo pabaiga. Bėda atsirado main() metode, kur vėlgi kažkas nesiderino su sintakse. Draugė peržiurėjo mano pasiūlytą variantą, ir privertė jį veikti. Turbūt būtų viskas gerai, jei ne mano programuotojo charakteris. Nusprendžiau patobulinti kodą iki galo. Nežinau ar reikėjo viską talpinti į atskirą klasę, bet mano sintaksės žinios neleido to padaryti, tai tiesiog sukišau viską į main metodą. Po šiokio tokio googlinimo, ir karo su Eclipse (taip, netgi IDE instaliavau šiam darbui :D) pavyko sukurti "šedevrą":
public class pirmasLab { public pirmasLab() { } public static void main(String[] args) { String t = "Ba,ndymas"; int k = t.indexOf( ',' ); int l = t.indexOf(',', k+1); if (k==-1) System.out.println("Kableliu nera, eilutes ilgis: " + t.length()); else { System.out.println("Pirmas kablelis yra " +k+ " -as"); if (l==-1) System.out.println("Antro kablelio nera. Nuo pirmo kablelio, iki galo yra " + (t.length()-k-1) + " simboliai/-iu"); else System.out.println("Antras kablelis yra " +l+ " -as"); } if (k!=-1 & l!=-1) System.out.println("Tarp pirmo kablelio ir antro kablelio yra " + (l-k-1) + " simboliai/-iu"); } }
Išvada: svarbiausia ne kalba/sintaksė, o bendros žinios ir mąstymas (ir mokėjimas naudotis Google :D).
Gairės: Java, Programavimas
24 Komentarai
1. Dummas
2007-10-15, 09:13Java nereikalauja konstruktoriaus, jeigu yra main metodas; O šiaip neblogai :-)
2. Armandas
2007-10-15, 10:23Dėkui ;D
3. Vortex
2007-10-18, 18:17Idomiai tu cia :) niekad kazkaip neesu susidures su java :D
4. Armandas
2007-10-18, 18:41Sako, kad žmonės savo noru Java neprogramina :D
5. ichmbch
2007-10-23, 18:40Turi draugą studijuojantį KTU, bet humanitarinius mokslus? kažkaip nesiriša :p
6. Armandas
2007-10-24, 15:07Man, tiesą pasakius, daug kas nesiriša Lietuvos švietimo sistemoje :)
http://www.ktu.lt/lt/apie_struktura/fakultetai/hum/apie_fak.asp
7. Pawka
2007-11-02, 15:33Labai jau apibrėžtai skamba "išmokau", kas nelabai derinasi su "programuoti" :-) O šiaip Java labai smagus dalykas. Nors mano mėgstamiausiai kalba yra C++, tačiau dažnai renkuosi būtent Java, kai noriu ką nors pakankamai greitai sukurpti.
8. Armandas
2007-11-02, 23:10Tas "išmokau" tai čia perkeltine prasme :) Šiaip tai man buvo vienkartinė patirtis su Java, panašiai ir su Ruby turėjau programavimo sesiją. Negaliu pasakyti, kad pajaučiau didelį potraukį šiom kalbom :)
9. Karolis
2008-01-23, 01:53StringTokenizer
nextToken
array.lenght
Sprendimas toks i C panasus :) Java yra OOP etalonas! :D minusas vykdymo spartumas. Minusas gavosi, nes java kurejai optimistai ir nenorejo kreipti demesio, jog gyvename ne tobulam pasauli (Microsoft-*nix).
Nekritikuokite sio gerio :)
10. G0Dhack
2008-07-19, 01:29>Išvada: svarbiausia ne kalba/sintaksė, o bendros žinios ir mąstymas (ir mokėjimas naudotis Google :D).
Labai bloga isvada per daug rozinio optimizmo!
JAVA sintakse panasi i C ir C++ ir tikriausiai arba viena arba kita arba abi tau zinomos ir todel buvo salyginai lengva.
Paziureciau kaip reaguotum i panasaus sudetingumo COBOL uzduoti kur tektu net vietoj elementariu y += x; kodint taip:
ADD X TO Y.
11. Armandas
2008-07-19, 16:50Programavau Assembly (68k), ir ten sintaksė:
ADD a1, a2
Uždavinius pirmas baigdavau ne todėl, kad sintaksė man pažįstama :) Užrašymas yra lengviausia dalis, kurią gali išmokt per ~kelis mėnesius. Programavimo tenka mokytis daug metų.
12. Simas
2008-09-22, 11:44Reik pagalbos su java...kas galetu padet nes jau depresija..reikia kontaktu
13. Armandas
2008-09-22, 14:57Susirask atitinkamą programuotojų forumą ar ką.
14. Simas
2008-10-03, 09:37tai matau kat tu gerai kerti :) ten nedaug reika, nesigaudau if'uose
15. Coderis
2008-10-21, 14:14Jei reik pagalbos su java rsykit i jjx256@gmail.com
16. JAVA
2009-04-01, 14:24Ar kasnors galietu padieti su java kodu kaip sukurt array list
17. Marius
2009-06-24, 21:48Na as turbut daryciau taip (jei neskaidyti i atskirus atvejus, kai kableliu nera arba jis tik vienas):
String inputString = new String("Pirmas kablelis, antras kablelis, pabaiga");
String[] commaSplit = inputString.split(",");
try {
System.out.println("Simboliu skaicius po pirmo kablelio: "+commaSplit[1].length());
} catch(ArrayOutOfBoundsException e) {
System.out.println("Nepakankamas kableliu skaicius");
}
PS. Nepatiko, kad yra emailo parseris, kuris neleidzia (at) vietoj @ naudot (dabar mane uzspamins :|)
18. Armandas
2009-06-25, 20:22Niekas neužspamins, paštas nerodomas ;)
19. Jonas
2011-01-20, 17:07Jei kam pagalbos reikia su java rašykit: jonas.ragaisis@gmail.com :)) pagelbėsiu kuo galėsiu ;]
20. nesvarbu
2011-04-18, 19:17Jonai, parašiau tau į emeilą, bet nesulaukiu atsakymo. :/ O labai reikėtų pagalbos su java užduotim!
21. Kaskas
2011-05-05, 16:14Man ta Java labai panasi i LUI v.5 lygtais
22. kkk
2011-12-21, 16:00Pats vidutiniskai moku, bet kam reik pagalbos su java - wecna@yahoo.com. Aisku ne uz dyka:-)
23. Arnas
2012-08-08, 16:44http://www.youtube.com/watch?v=16L5iMlsWdA
Stai lietuviu kalba pradetos leisti vaizdines Java programavimo pamokos
24. Programuotojas
2015-10-30, 10:05JAVA ko gero viena geriausių kalbų programavimo mokymuisi ir yra pakankamai populiari. Įgavus bazines žinias galima pradėti ieškotis darbo.