ورودی کاربر (User Input)
می خواهی برنامه از کاربر سوال بپرسد؟ با کلاس «اسکنر (Scanner)» می شود. اسکنر یعنی ابزار خواندن متن از ورودی. معمولاً از صفحه کلید می خواند و داخل برنامه می آورد.
شروع کار با Scanner
اول باید Scanner را از بسته java.util وارد کنیم. سپس شی بسازیم. بعد هم با متدها بخوانیم. برای متن از nextLine() استفاده می کنیم.
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner myObj = new Scanner(System.in);
System.out.println("Enter username");
String userName = myObj.nextLine();
System.out.println("Username is: " + userName);
}
}
نکته: «بسته (Package)» یعنی پوشه کدی که کلاس ها را گروه بندی می کند.
خواندن انواع مختلف ورودی
برای عدد صحیح از nextInt() و برای اعشاری از nextDouble() کمک بگیر. برای اسم یا جمله از nextLine() بخوان.
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner myObj = new Scanner(System.in);
System.out.println("Enter name, age and salary:");
String name = myObj.nextLine();
int age = myObj.nextInt();
double salary = myObj.nextDouble();
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Salary: " + salary);
}
}
هشدار: اگر نوع نادرست وارد کنی، خطای InputMismatchException می گیری.
گام های عملی
- کلاس Scanner را import کن.
- از System.in یک شی Scanner بساز.
- پیام چاپ کن و ورودی را بخوان.
- نتیجه خوانده شده را چاپ کن.
نکته: برای مرور «ورودی کاربر» همین صفحه را نشانه گذاری کن.
جمع بندی سریع
- Scanner ورودی کاربر را می خواند.
- nextLine متن کامل را می گیرد.
- nextInt و nextDouble عددها را می گیرند.
- ورودی نادرست خطا می دهد.