در ادامه آموزش قبل، در این آموزش قصد داریم ببینیم که به چه شکل می توان داده هایی که توسط دو فیلد ایجاد شده دریافت می کنیم را به داده ای از جنس عددی تبدیل کنیم (به عبارت دیگر به متغیری از جنس int اصطلاحاً Cast کنیم).
در ابتدا فولدری که در جلسه قبل تحت عنوان 67th Session ایجاد کردیم را به 68th Session تغییر نام می دهیم. سپس کدهای جلسه قبل را مد نظر قرار می دهیم:
import javax.swing.JOptionPane;
public class test {
public static void main(String[] args){
String numberOne;
String numberTwo;
numberOne = JOptionPane.showInputDialog("Please enter your first number:");
numberTwo = JOptionPane.showInputDialog("Please enter your second number:");
}
}
در ادامه می بایست دو متغیر از جنس int یا دو متغیر عددی ایجاد کنیم:
import javax.swing.JOptionPane;
public class test {
public static void main(String[] args){
String numberOne;
String numberTwo;
numberOne = JOptionPane.showInputDialog("Please enter your first number:");
numberTwo = JOptionPane.showInputDialog("Please enter your second number:");
int stringToint1 = Integer.parseInt(numberOne);
int stringToint2 = Integer.parseInt(numberTwo);
}
}
کاری که در تکمیل کد فوق انجام داده ایم این است که یک متغیر از جنس int ساخته ایم تحت عنوان stringToint1 که اگر بخواهیم آن را به صورت تحت الفظی ترجمه کنیم می توانیم معادل "رشته به عدد شماره یک" را در نظر بگیریم. سپس یک علامت مساوی قرار داده و کلاسی تحت عنوان Integer را می نویسیم و پس از قرار دادن یک نقطه متدی تحت عنوان parseInt(); را به آن ضمیمه می کنیم. داخل پرانتز این متد، نام شیئی که از روی کلاس String ایجاد کردیم را به عنوان پارامتر قرار می دهیم. به طوری کلی کاری که این کلاس و متد انجام می دهند این است که مقداری که برای شیئی numberOne در نظر گرفته می شود را به یک عدد از جنس عدد صحیح تبدیل می کنند. همین کار را برای شیئ دوم هم انجام می دهیم.
حال نیاز است که نتیجه کار را به کاربر نشان دهیم. برای این منظور می بایست یک متغیر از جنس عدد صحیح int دیگر ایجاد کنیم. نامی که برای این متغیر جدید در نظر می گیریم result خواهد بود:
import javax.swing.JOptionPane;
public class test {
public static void main(String[] args){
String numberOne;
String numberTwo;
numberOne = JOptionPane.showInputDialog("Please enter your first number:");
numberTwo = JOptionPane.showInputDialog("Please enter your second number:");
int stringToint1 = Integer.parseInt(numberOne);
int stringToint2 = Integer.parseInt(numberTwo);
int result = stringToint1 + stringToint2;
}
}
همانطور که در کد فوق می بینیم، یک int جدید تحت عنوان result ایجاد کرده و مقدار در نظر گرفته شده برای آن برابر است با مقدار متغیر stringToint1 به علاوه stringToint2.
حال می بایست خروجی برنامه به کاربر نشان داده شود. برای این کار کدهای فوق را به صورت زیر تکمیل نموده و در ادامه به تفسیر کدها خواهیم پرداخت:
import javax.swing.JOptionPane;
public class test {
public static void main(String[] args){
String numberOne;
String numberTwo;
numberOne = JOptionPane.showInputDialog("Please enter your first number:");
numberTwo = JOptionPane.showInputDialog("Please enter your second number:");
int stringToint1 = Integer.parseInt(numberOne);
int stringToint2 = Integer.parseInt(numberTwo);
int result = stringToint1 + stringToint2;
JOptionPane.showMessageDialog(null, "The result is " + result, "Well Done!", JOptionPane.PLAIN_MESSAGE);
}
}
برای نشان دادن نتیجه از متدی تحت عنوان showMessageDialog استفاده کرده ایم. برای این عملی کردن این متد ابتدا نام کلاس JOptionPane را نوشته سپس یک نقطه قرار داده و متد showMessageDialog را به آن ضمیمه می کنیم. داخل پرانتزهای این متد می بایست چهار پارامتر قرار دهیم و این در حالی است که پارامتر اول به جایگاه این پنجره اختصاص داده که اگر مقدار null را برای آن در نظر بگیریم، این پنجره در وسط صفحه نمایش سیستم نمایان خواهد شد (لازم به ذکر است که این پارامترها را می بایست با یک کاما از یکدیگر مجزا ساخت).
پارامتر دوم متنی است که داخل این پنجره به نمایش می آید و از آنجا که این یک متن است پس می بایست داخل دو علامت " " قرار گیرد. در این مثال عبارتی همچون The result is به معنی "نتیجه معادل است با" را نوشته و مقدار متغیر result را به آن ضمیمه کرده ایم.
پارامتر سوم مربوط به عنوان یا همان Title پنجره ای است که باز می شود که در اینجا عبارت Well Done! به معنی "آفرین" را نوشته ایم.
پارامتر چهارم هم نوع پیامی است که می خواهیم نمایش دهیم که در ادامه بیشتر با آن آشنا خواهیم شد. در واقع از آنجا که در این مثال فقط می خواهیم یک متن یا بهتر بگوییم نتیجه محاسبات را نشان دهیم از پارامتری تحت عنوان JOptionPane.PLAIN_MESSAGE استفاده کرده ایم که به معنی "متن ساده" است.
حال پس از Compile کردن پروژه و اجرای آن، نتیجه تکمیلی را مشاهده خواهیم کرد (برای آشنایی با نحوه Compile کردن به آموزش قبل مراجعه نمایید):
می بینیم که به محض اجرای برنامه از ما خواسته می شود تا عدد اول مد نظر خود را وارد کنیم که در این مثال عدد 7 وارد شده است. روی دکمه OK کلیک می کنیم یا دکمه اینتر را می زنیم:
در ادامه از ما خواسته می شود تا عدد دوم را وارد کنیم. برای عدد دوم هم عددی همچون 5 را در نظر گرفته ایم. مجدد روی دکمه OK کلیک می کنیم:
می بینیم که ماشین حساب به درستی کار کرده و پارامترهایی را هم که برای پنجره خروجی در نظر گرفتیم به درستی قابل مشاهده هستند به جزء پارامتر آخر. برای درک بهتر این پارامتر، به صورت زیر تغییری در کد خود می دهیم:
import javax.swing.JOptionPane;
public class test {
public static void main(String[] args){
String numberOne;
String numberTwo;
numberOne = JOptionPane.showInputDialog("Please enter your first number:");
numberTwo = JOptionPane.showInputDialog("Please enter your second number:");
int stringToint1 = Integer.parseInt(numberOne);
int stringToint2 = Integer.parseInt(numberTwo);
int result = stringToint1 + stringToint2;
JOptionPane.showMessageDialog(null, "The result is " + result, "Well Done!", JOptionPane.INFORMATION_MESSAGE);
}
}
می بینیم که پارامتر چهارم را به JOptionPane.INFORMATION_MESSAGE تغییر داده ایم. حال مجدد برنامه خود را Compile و اجرا می کنیم:
می بینیم که آیکانی برای متن قرار گرفته داخل این پنجره در نظر گرفته شده است. از جمله دیگر پارامترهایی که در جایگاه چهارم می توانیم استفاده کنیم می توان به موارد JOptionPane.ERROR_MESSAGE, JOptionPane.WARNING_MESSAGE, JOptionPane.QUESTION_MESSAGE اشاره کرد.