DAVID J. Malan: Supozoni se ne duam të shkruani një program që kërkon të gjithë në një vend për moshën e tyre, dhe pastaj shtyp se si e vjetër ata njerëz do të jetë një vit kështu? Tani, natyrisht aritmetike për këtë Problemi do të jetë në mënyrë të drejtë drejtpërdrejtë. Por pyetja interesante është, në qoftë se ne nuk e di që më parë se sa njerëz do të jetë në këtë dhomë, se si mund të shkojmë në lidhje me ruajtjen të gjitha moshave të tyre? E pra, le të marrin një sy. 

Le të fillojmë duke parë duke bërë që përdoruesit, siç kam bërë këtu, për Numri i njerëzve në dhomë duke përdorur getInt dhe një lak do-ndërsa në mënyrë të të marrë një n numër i plotë. Supozoni se ne tani duam të pyes çdo të tillë person në dhomë për moshën e tyre. E pra, instinktet e mia do të jetë për të përdorur një lak për të bërë këtë duke bërë, por unë edhe nevojë për një vend për të ruajtur moshave këtyre njerëzve është. Dhe instinktet e mia të para nuk do të për të përdorur një variabël për të parë mosha e personit, një tjetër e ndryshueshme për moshën e personit të dytë, lloj përgjatë linjave. Mosha int - mirë, le të thërrasë atë për 1 personi i parë. Int mosha 2 per personin dytë. Int mosha 3 për personin e tretë. 

Por prisni një minutë, kjo nuk është ndoshta rruga më e mirë për të shkuar poshtë. Sepse unë nuk e di paraprakisht të shkrim dhe përpilimin e këtij programi si shumë përdorues atje do të jetë. Dhe për më tepër, në qoftë se ka deri në 100 përdoruesve, që deklarojnë 100 variabla lloj me emrin kaq të çuditshme si kjo nuk ka ndjehen si dizajn shumë më të mirë. 

E pra, fatmirësisht ekziston një tjetër Lloji i ndryshore të quajtur një grup që na lejon për të ruajtur çdo numër të ints në brendësi të saj, edhe nëse ne nuk e dimë kur shkrim programin tim se sa Ints e tilla që ne do të jeni nevojë. Pra, le të backtrack dhe fshini këto disa Ints, dhe në vend të zëvendësuar atë me një ndryshore të quajtur, thonë, moshat, shumësi. Por le të mëtejshëm të specifikojë në këtë linjë e kodit në kllapa katrore që ne dëshironi ints n. Dhe për këtë arsye, ne do kolektivisht referohen këto ints si moshave. 

Tani në vetëm një moment unë do të jetë në gjendje të merrni në secilin prej ints në këtë grup në mënyrë të ngjashme me mënyrën e kllapa katrore simbol, duke filluar në 0. Pra, le të vazhdojë tani në një lak për të menjëhershëm të përdoruesit për moshat e tyre. Për int marr 0. I është më pak se N, numri i njerëzve në dhomë, unë plus plus. 

Dhe tani në këtë lak, le të themi mosha printf e numrit personi, I qind është një placeholder, presje. Dhe tani, në vend se të fillojë numërimi nga 0 në programin e vetë, le të në paktën shtim I nga 1 në mënyrë që a normal personi duke përdorur këtë program nuk ka për të numëruar si një forca shkencëtar kompjuteri. Le të bëjmë tani moshave, kllapa I, duke specifikuar që mosha i-th në tonë grup i moshave do të merrni vlera e kthimit e getInt. 

Tani nën këtë lak, le të vazhdojë të supozohet se disa kohë kalon. Dhe tani le të vazhdojë në një lak që në fakt të moshës të gjithë në dhomë me një vit. Pra, përsëri, për int kam marrë 0, unë është më pak N se, numri i njerëzve në dhomë, unë plus plus. 

Dhe tani brenda këtij lak, le të themi printf një vit nga tani numri personi, për qind unë është një placeholder, do të jenë, qind I është një tjetër placeholder, vjeç. Dhe pastaj në prizë në ato placeholders, le të parë të them unë plus 1, kështu që përsëri ne të fillojë numërimi për përdoruesit nga 1. Dhe pastaj le të plug në moshën e atij personi si mosha kllapa I plus 1, në këtë mënyrë specifikuar shkoni merrni moshën e I-th në tonë grup i moshave, shtoni 1 në të, dhe pastaj të futur këtë shumë në placeholder tonë, Paren ngushtë, pikëpresje. 

Le tani hartuar këtë program me make moshave, dhe le të drejtuar atë me dot çaj moshave. Dhe mendoj se ka vetëm tre njerëz në dhomë, dhe dikush është 18, dikush është 19, dikush është 20. Dhe, në një vit, secili nga ata njerëz do të jetë 19, 20, dhe 21, respektivisht.