در این مقاله ی آموزشی، به مثالی از کلاس String در جاوا می پردازیم. و به طور عملی، یک اپلیکیشن جاوا ایجاد می کنیم که ابتدای نام و نام خانوادگی را به حروف بزرگ تبدیل می کند.
برای نشان دادن کاربرد متدهای String، یک اپلیکیشن جاوا ایجاد می کنیم که از کاربر یک نام را می پرسد و آنگاه این نام را اصلاح می کند به طوری که حرف اول از هر نام جدید با حرف بزرگ شروع شود؛ خواه کاربر نام خود را با حروف بزرگ نوشته باشد یا خیر.
برای ایجاد یک اپلیکیشن اصلاح کننده ی نام، گام های زیر را انجام دهید:
1. یک فایل متنی(text) جدید را در ادیتور متنی خود باز کنید. و خط کدهای زیر را برای برنامه ی RepairName وارد کنید. در این برنامه، دو متغیر تعریف می کنیم که شامل دو رشته(String) می باشد که به یک نام اشاره می کنند: یکی از آنها حروف را به حروف بزرگ تبدیل می کند. و دیگری مقدار وارد شده توسط کاربر را ذخیره می کند؛ که در انتهای برنامه به شکل اصلی خود، نمایش پیدا کند. پس از اینکه متغیرها را تعریف کردیم، از کاربر می خواهیم که یک نام را وارد کند:
import javax.swing.*;
public class RepairName
{
public static void main(String[] args)
{
String name, saveOriginalName;
int stringLength;
int i;
char c;
name = JOptionPane.showInputDialog(null,"Please enter your first and last name");
2. نام وارد شده در متغیر saveOriginalName را ذخیره کنید. سپس طول(length) نامی(name) که کاربر وارد کرده است را محاسبه کنید. حالا یک حلقه ایجاد کنید که هریک از کاراکترهای درون این نام را بررسی کند. اولین کاراکتر از name، همواره با حروف بزرگ نوشته می شود، بنابراین وقتی که متغیر کنترل حلقه یعنی i برابر با 0 است، اولین کاراکتری که در این اندیس از رشته ی name قرار دارد، استخراج می شود و به معادل حروف بزرگ تبدیل می شود. سپس name برابر قرار می گیرد با کاراکتری که به حروف بزرگ تبدیل شده، بعلاوه ی باقی مانده ی حروف متغیر name:
saveOriginalName = name;
stringLength = name.length();
for(i=0; i < stringLength; i++)
{
c = name.charAt(i);
if(i == 0)
{
c = Character.toUpperCase(c);
name = c + name.substring(1, stringLength);
}
پس از اینکه اولین کاراکتر در متغیر name به حروف بزرگ تبدیل شد، برنامه به بقیه ی حروف name توجه می کند و به بررسی فاصله های سفید(spaces) و بزرگ کردن هر کاراکتری که پس از یک فاصله ی سفید قرار دارد، می پردازد. وقتی که یک فاصله ی سفید در اندیس i پیدا شود، i یک واحد افزایش می یابد و کاراکتر بعدی از name استخراج می شود؛ سپس این کاراکتر به حروف بزرگ تبدیل می شود. حالا یک رشته ی name جدید ایجاد می کنیم که برابر با name قبلی، از 0 تا اندیس i ، بعلاوه حرف جدیدی که به حروف بزرگ تبدیل شد، بعلاوه ی باقی مانده ی رشته ی name می باشد. اکنون دستور if...else پایان می یابد و حلقه ی for پایان می یابد:
else
if(name.charAt(i) == ' ')
{
++i;
c = name.charAt(i);
c = Character.toUpperCase(c);
name = name.substring(0, i) + c + name.substring(i + 1, stringLength);
}
}
4. پس از اینکه تمام کاراکترها بررسی شدند، نام های اصلی و نام های تعمیر شده را نمایش می دهیم و دو آکولاد بسته، برای بستن متد main()
و برای بستن کلاس، اضافه می کنیم:
JOptionPane.showMessageDialog(null, "Original name was " + saveOriginalName + "\nRepaired name is " + name);
}
}
5. این اپلیکیشن جاوا را با نام RepairName.java ذخیره کنید، سپس آن را کامپایل و اجرا کنید. تصویر 7.16 اجرای نمونه ی برنامه را نشان می دهد. اطمینان حاصل کنید که تمام متدهای رشته(string)، که در موفقیت این برنامه مشارکت داشته اند را شناخته اید.
(تصویر 7.16: اجرای اپلیکیشن RepairName)