Documente Academic
Documente Profesional
Documente Cultură
Java Curs 1
Java Curs 1
Prezentare curs i laborator Fazele dezvoltrii de soft are !ri"inea li#ba$ului Java S%ecifica&ii' desi"n' i#%le#entare Pe scurt des%re e(ce%&ii Analiza ti#%ului de rulare )itirea i scrierea la consol J*S+ API (A%%lication Pro"ra##in" Interface) ,e"uli de scriere a codului JavaDoc
Prezentare
)urs .onorius /0l#eanu' "al#eanu1ve"a2unitbv2ro 3iblio"rafie 4ic5ael 4ain' 6Data Structcures and !t5er !b$ects usin" JAVA7' Addison 8esle9' *::; 3ruce +c<el' 6=5in<in" in Java7' 5tt%->>#indvie 2net>3oo<s>=IJ? @otare 1:A %rezen&a la curs ?:A laborator (notare la fiecare or) B:A colocviu final
*
al"orit# G %rocedur sau secven& de instruc&iuni cu a$utorul crora se rezolv o %roble# dat e(%ri#area al"orit#ului se face de re"ul n li#ba$ %seudocod desco#%unerea %roble#ei (#etode) conversia de te#%eratur ti%rirea tabelului valorilor al"orit#ul procedure convertor (t, step) tiprete capul de tabel for i = 1 to 7 do observa&i c = t + (i 1) * 10 stilul de scriere f=9*c/5+3 i tiprete c, !"#, un spa$iu, f %i !&# alinierea tiprete finalul de tabel
desco#%unerea %roble#ei n subtas<Euri reutilizarea codului (#etod "enric de ti%rire) uurin&a #odificrilor ascunderea infor#a&iei (ascunderea i#%le#entrii) se#ntura unei #etode Java-
// conversia te'peraturii din (rade "elsius )n &aren*eit public static double celsius+o&aren*eit (double c)
ti% returnat
nu#ele #etodei
%ara#etri
s%ecifica&iile #etodei
// converte%te te'peratura din "elsius )n &aren*eit // ,para's // double c te'peratura )n (rade "elsius // ,returns // te'peratura convertit- )n (rade &aren*eit // ,t*ro.s /lle(al0r(u'ent12ception // dac- te'peratura este 'ai 'ic- dec3t cea 'ai 'ic// te'peratur- per'is- 4ero absolut, 73,15 public static double celsius+o&aren*eit (double c) 6 // 777 8
1: public class SampleThrow 2: { 3: public int test (int x) 4: { 5: if( x < 0 ) 6: throw new IllegalArgumentEx e!tion ()" #: $: return 1" 1 %: & Ex e!tion in threa1 /main/ 10: 2a0a-lang-IllegalArgumentEx e!tion 11: public static void main (String[] args) at )am!le*hrow-te+t(int) 12: { ()am!le*hrow-2a0a:6) 13: ''tr( at )am!le*hrow-main 14: ''{ (2a0a-lang-)tring34) 15: )am!le*hrow +t , new )am!le*hrow ()" ()am!le*hrow-2a0a:1#) 16: )(+tem-out-!rintln (+t-te+t (0))" 1#: )(+tem-out-!rintln (+t-te+t (.1))" 1$: ''& 1%: '' at h( IllegalArgumentEx e!tion e) 20: ''{ 21: '' )(+tem-out-!rintln (/argument in0ali1/)" 22: ''& 23: & 24: & 25:
,ezultatele rulrii-
3ob urc n turnul +iffel cu inten&ia de a nu#ra c0te tre%te are acesta2 Se folosete de un creion i o 50rtie2 Punerea unui se#n %e 50rtie sau ac&iunea de a cobor > urca o sin"ur trea%t se nu#ete o%era&ie2 =rei variante 4etoda 1 urc %0n susN %entru fiecare trea%t urcat sau cobor0t %une c0te un se#nN
1:
4etoda * las 50rtia la baza turnuluiN %entru %ri#a trea%t' o urc' i las a%ca %e ea' o coboarN face un se#n %e 50rtieN a%oi' de fiecare dat va urca %0n i "sete a%ca' #ai urc o trea%t' #ut a%ca aici' coboarN a$uns $os' %une un se#n %e 50rtieN re%et ac&iunile %0n nu #ai "sete noi tre%teN 4etoda ; stri" ctre Pierre' care se afl n turn' 6)0te tre%te are turnul D7' noteaz rs%unsul %e 50rtie C *JLF tre%te' adic face ? se#ne2
Pentru fiecare #etod' nu#r se#nele %e care leEa %us %e 50rtie2 @e intereseaz efortul de%us C c0te o%era&ii a realizat2
11
4etoda 1 urc n tre%te %une' la fiecare trea%t urcat' c0te un se#n' n total n se#ne coboar n tre%te total- n ) n ) n * 3n (o%era&ii)
1*
4etoda * trea%ta 1- urc 1 trea%t' coboar 1 trea%t' %une 1 se#n trea%ta *- urc * tre%te' coboar * tre%te' %une 1 se#n 2 2 2 trea%ta n- urc n tre%te' coboar n tre%te' %une 1 se#n total1 5 2 5 --- 5 n 5 n 5(n.1) 5 --- 5 1 5 n ........................... (n51)5(n51) 5 --- 5(n51)5 n , n(n52)
1;
1?
f n =;n
f n = n *n
*
f n =[ lo"1: n ]1
)are #etod este #ai ra%id D > )are al"orit# este #ai eficient D )azuri e(tre#e (co#%ara&i) un #aratonist a%lic #etoda 1' un #elc #etoda * #aratonistul #etoda 1' #elcul #etoda ; (rzbunarea #elcului) 1B
1J
1K
try { )(+tem-out-!rint (/Intro1u + , on+ole-rea1<ine ()" a , =loat-!ar+e=loat (+)" )(+tem-out-!rint (/Intro1u + , on+ole-rea1<ine ()" ; , =loat-!ar+e=loat (+)" & catch (I>Ex e!tion ioex) { )(+tem-out-!rintln (/In!ut )(+tem-exit (1)" & catch (?um;er=ormatEx e!tion { )(+tem-out-!rintln (/@// 5 / i+ not numeri /)" )(+tem-exit (1)" &
&
&
1L
1F
du% #odificare' nea%rat testa&i %ro"ra#ul nu #odifica&i #ult fr a testa i#%une&i verificri a %ara#etrilor %ri#i&i stabili&i test cases %entru c0t #ai #ulte situa&ii du% o #odificare rula&i toate test caseEurile anterioare #etode c0t #ai scurte' descrise clar co#enta&i la fiecare nce%ut de o%era&ie res%ecta&i alinierea codului (* s%a&ii) s9nta( 5i"5li"5tin" unit testin" (testare %e buc&ele) trata&i toate situa&iile %articulare care %ot a%rea
*:
&
*1
**