آرایه ها و رشته ها
می توانیم درون آرایه ها رشته های متن، ذخیره کنیم. همانگونه که integer ها را ذخیره می کردیم این کار را انجام می دهیم:
String aryString = new String[5]; aryString[0] = "This"; aryString[1] = "is"; aryString[2] = "a"; aryString[3] = "string"; aryString[4] = "array";
کد بالا یک آرایه از رشته ها با ۵ مکان ایجاد می کند و سپس متن، درهر مکان از آرایه ذخیره می شود. کد زیر یک حلقه است که هر آنچه در مکان های آرایه است را چاپ می کند:
int i; for (i=0; i<aryString.length; i++){ System.out.println( aryString[i] ); }
حلقه تا زمانی که مقدار درون متغیر i، از طول آرایه aryString کوچکتر باشد، تکرار می شود. اگر برنامه را اجرا کنید پنجره خروجی به صورت زیر خواهد بود:
همچنین می توان مانند integer ها نیز، آرایه از نوع رشته را مرتب(sort) کرد. مرتب سازی اینجا بر اساس حروف الفبا خواهد بود. برای مثال رشته “aa” قبل از رشته “ab” قرار خواهد گرفت. به هر حال جاوا برای مقایسه رشته ها، هر حرف را با حرف دیگر با استفاده از کاراکتر unicode بررسی می کند و این بدین معناست که برای مثال حرف بزرگ “T” قبل از حرف “a” قرار خواهد گرفت. کد زیر را امتحان کنید:
پنجره خروجی به صورت زیر خواهد بود:
با این که آرایه را مرتب کردیم اما، چون حرف اول “This” بزرگ نوشته شده است، بعد از مرتب شدن قبل از همه قرار خواهد گرفت. ولی ما انتظار داریم که حرف “a” در ابتدا قرار بگیرد. پس حرف بزرگ “T” را فعلا به حرف کوچک “t” تبدیل کنید. حالا دوباره برنامه را اجرا کنید. پنجره خروجی به صورت زیر خواهد بود:
همانطور که می بینید، کلمه “this”، این بار در آخرین مکان قرار گرفته است. در بخش های بعدی بعد به رشته ها نگاهی ریز تر خواهیم داشت. تمارین زیر را برای یادگیری بهتر انجام دهید. پاسخ را هم در انتها می توانید دانلود کنید.
[divider]
تمرین اول
یک آرایه ایجاد کنید که مقادیر روبرو به ترتیب از چپ به راست نگه داری کند: ۲۳،۶،۴۷،۳۵،۲،۱۴ . برنامه ای بنویسید که میانگین این شش عدد را محاسبه کند و در خروجی نمایش دهد. می توانید از integer استفاده کنید که میانگین به عدد صحیح گرد شود.
تمرین دوم
از همان مقادیر بالا استفاده کنید و بزرگترین عدد در آرایه را چاپ کنید.
تمرین سوم
از همان آرایه دوباره استفاده کنید و تنها اعداد فرد را چاپ کنید.
[divider]
در بخش بعد به آرایه های چند بعدی می پردازیم….