جاوا از ابتدا، بخش نهم 5/5 (1)

0
404

دریافت ورودی از کاربر

یکی از نقاط قوت جاوا، کتابخانه ای عظیم از کد هایی است که برای انجام کارهای خاصی نوشته شده اند و در دسترس شما قرار دارند. برای استفاده از متدهای درون این کتابخانه ها، تمام کاری که باید انجام دهید این است که کتابخانه ای که می خواهید از آن استفاده کنید را به مراجع برنامه خود اضافه کنید. یعنی به جاوا اعلام کنید که قصد استفاده از متد های درون کتابخانه مورد نظر را دارید. سپس در درون کد خود می توانید متد های کتابخانه هایی را که افزوده اید صدا بزنید و از آنها استفاده کنید. برای مثال کلاسی بسیار مفید به نام Scanner، وجود دارد که برای کار با ورودی هایی است که از کاربر دریافت می شود. کلاس Scanner در کتابخانه java.util قرار دارد. پس باید برای استفاده از آن، این کتابخانه را به مراجع برنامه خود اضافه کنیم. برای اضافه کردن کتابخانه به مراجع برنامه از کلمه کلیدی import استفاده می شود:

import java.util.Scanner;

کد بالا باید بالای کلاس اصلی برنامه نوشته شود:

import java.util.Scanner;
public class StringVariables{

}

این کد به جاوا اعلام می کند که شما می خواهید از کلاس مشخصی در یک کتابخانه مشخص، استفاده کنید.(کلاس فقط دسته ای از کد است و تا وقتی که از آن شیء نسازید هیچ کاری انجام نمی دهد.) برای ساخت شیء از کلاس Scanner از کد زیر استفاده می کنیم:

Scanner userInput = new Scanner(System.in);

در اصل به جای تعریف یک متغیر int یا String، ما داریم یک متغیر Scanner تعریف می کنیم! و نام متغیر خود را به دلخواه userInput انتخاب کرده ایم. بعد از علامت مساوی، از کلمه کلیدی new استفاده شده است. از این کلمه استفاده می شود تا اعلام کند باید از کلاس مورد نظر یک شیء جدید ساخته شود. در کد بالا ما یک شیء از کلاس Scanner ساختیم. در درون پرانتز ها هم به جاوا اعلام کردیم که ورودی سیستم(System Input)، مورد استفاده این شیء قرار خواهد گرفت. حال برای دریافت ورودی از کاربر می توانیم از متدهای فراوانی که این شیء جدید کلاس Scanner در اختیار دارد استفاده کنیم. یکی از این متد ها next نام دارد. که رشته ای که کاربر با صفحه کلید، در برنامه تایپ می کند را دریافت می کند:

String firstName;
firstName = userInput.next();

در کد بالا بعد از شیء userInput یک نقطه(.) تایپ کردیم و از بین متدهای این شیء، next را برگزیدیم. و در انتهای خط هم ; را قرار دادیم. می توانیم در برنامه به کاربر بگوییم که باید متنی را تایپ کند:

String firstName;
System.out.print("Enter your first name: ");
firstName = userInput.next();

دقت کنید که بر خلاف بخش های قبل از print به جای println استفاده کرده ایم. تفاوت این دو این است که println بعد از چاپ، مکان نما(cursor) را به خط جدید بعد از خروجی انتقال می دهد. ولی print، در همان خط می ماند. حال برای دریافت نام خانوادگی نیز یک بار دیگر این عمل را انجام می دهیم:

 

String familyName;
System.out.print("Enter your family name: ");
familyName = userInput.next();

مانند همان کد قبلی فقط این بار ورودی در متغیر familyName ذخیره می شود. برای چاپ کردن رشته هایی که کاربر وارد کرده است می توانیم این کد را در انتها اضافه کنیم:

String fullName;
fullName = firstName + " " + familyName;
System.out.println("You are " + fullName);

کاری که انجام شد این بود که یک متغیر جدید تعریف کردیم و جمع نام و نام خانوادگی را که در میانشان یک فاصله است در آن ذخیره کردیم، سپس با دستور println آن را چاپ کردیم. کد نهایی به صورت زیر خواهد بود:

scanner

برنامه را اجرا کنید. پنجره خروجی را ببینید:

scanner_output1

جاوا برنامه را تا زمانی که شما یک رشته را وارد کنید متوقف نگه می دارد. زمانی متوجه می شود رشته را وارد کردید که کلید اینتر(enter) را فشار دهید. یک نام بنویسید و کلید اینتر را بزنید. وقتی که اینتر را بزنید جاوا هرآنچه که تایپ کردید را در متغیر سمت چپ تساوی ذخیره می کند.(برای ما اینجا firstName متغیر سمت چپ است.) سپس برنامه به خط بعدی کد می رود:

output2

برای مثال یک نام خانوادگی بنویسید و کلید اینتر را فشار دهید:

output3

حالا دیگر ورودی ای نخواهیم داشت و ادامه برنامه اجرا می شود و در انتها دستور چاپ اجرا خواهد شد:

output4

در بخش بعد با ما همراه باشید…

به این مطلب امتیاز بدهید

ارسال یک پاسخ

لطفا دیدگاه خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید