Java эсвэл өөр хэл дээр програмчлахдаа хэрэглэгчийн оруулсан мэдээллийг ашиглах шаардлагатай болно. Java нь хэрэглэгчийн мэдээллийг авах олон янзын аргуудыг санал болгодог боловч хамгийн түгээмэл бөгөөд хэрэгжүүлэхэд хамгийн хялбар арга бол Сканнерын объектыг ашиглах явдал юм.
Алхам
2 -р арга 1: Видео бичлэгүүд
Алхам 1. Сканнерын ангийг импортлох
Та импортлохыг сонгож болно
java.util. Сканнер
анги эсвэл бүхэлд нь
java.util
багц. Ангилал эсвэл багцыг импортлохын тулд кодынхоо эхэнд дараах мөрүүдийн аль нэгийг нэмнэ үү.
java.util. Scanner импортлох; // Энэ нь зөвхөн сканнерын ангийг импортлох болно. java.util импортлох.*; // Энэ нь java.util багцыг бүхэлд нь импортлох болно.
Алхам 2. дамжуулах замаар шинэ сканнерын объектыг эхлүүлэх
System.in
бүтээгч рүү оруулах урсгал.
System.in
нь аль хэдийн нээгдсэн бөгөөд оролтын өгөгдлийг нийлүүлэхэд бэлэн болсон стандарт оролтын урсгал юм. Ихэвчлэн энэ урсгал нь гарын оролттой нийцдэг.
Сканнер хэрэглэгчInputScanner = шинэ сканнер (System.in);
Алхам 3. Хэрэглэгчийн оруулсан янз бүрийн төрлийн өгөгдлийг уншина уу
Сканнерын анги нь тэмдэгт мөр авахаас гадна int, байт, богино, урт гэх мэт команд авахыг дэмждэг.
-
Сканнерын ангиар дамжуулан ашиглах боломжтой зарим аргуудыг энд оруулав.
-
Байт унших -
nextByte ()
-
Товчхон уншаарай -
nextShort ()
-
Int унших -
nextInt ()
-
Удаан уншаарай -
nextLong ()
-
Хөвөгч унших -
nextFloat ()
-
Давхар унших -
nextDouble ()
-
Богеол унших -
nextBoolean ()
-
Бүрэн мөрийг уншина уу -
nextLine ()
-
Нэг үг уншаарай -
дараачийн()
-
-
Төрөл бүрийн оролтыг авахын тулд сканнерын өөр өөр аргыг ашигладаг програмын жишээ энд байна.
java.util. Scanner импортлох; public class ScannerExample {public static void main (String args) {// Шинэ сканнер скан хийгчийг эхлүүлэх userInputScanner = шинэ сканнер (System.in); // nextLine тест хийх (); System.out.println ("\ nТаныг хэн гэдэг вэ?"); Мөрийн нэр = userInputScanner.nextLine (); // NextInt () тест хийх; System.out.print ("Та хэдэн мууртай вэ?"); int numberOfCats = userInputScanner.nextInt (); // NextDouble тест хийх (); System.out.print ("Таны хэтэвчинд хэдэн төгрөг байгаа вэ? $"); давхар moneyInWallet = userInputScanner.nextDouble (); System.out.println ("\ nСайн уу" + нэр + "! Таны хэтэвчэнд" + numberOfCats + (numberOfCats> 1? "Муур": "муур") + "ба $" + moneyInWallet + "байна. / N"); }}
2 -ийн 2 -р арга: Үл хамаарах зүйлийг зохицуулах
Алхам 1. Оролтын үл хамаарах зүйлийг зохицуулах
Ан
InputMismatchException
Хэрэглэгч хүссэн төрөлтэйгээ таарахгүй өгөгдөл оруулах үед хаядаг. Жишээлбэл, хэрэв хэрэглэгч int асуух үед String -т орвол програм нь
InputMismatchException
ба гарах. Энэхүү үл хамаарах зүйлийг шийдвэрлэх, энэ асуудлыг шийдэх хэд хэдэн арга байдаг бөгөөд ингэснээр таны програмыг мунхаг болгохгүй.
Алхам 2. Үүнийг зохицуулахын тулд try-catch блок ашиглана уу
InputMismatchException
.
java.util. InputMismatchException импортлох; java.util. Scanner импортлох; public class ScannerExample {public static void main (String args) {// Шинэ сканнер скан хийгчийг эхлүүлэх userInputScanner = шинэ сканнер (System.in); // nextLine тест хийх (); System.out.print ("\ nТаныг хэн гэдэг вэ?"); Мөрийн нэр = userInputScanner.nextLine (); // NextInt () тест хийх; boolean validInput = худал; int numberOfCats = 0; while (! validInput) {System.out.print ("Та хэдэн мууртай вэ?"); {numberOfCats = userInputScanner.nextInt () -ийг туршиж үзээрэй; validInput = үнэн; } барих (InputMismatchException e) {validInput = false; userInputScanner.nextLine (); }} // Testing nextDouble (); validInput = худал; давхар moneyInWallet = 0.0; while (! validInput) {System.out.print ("Таны хэтэвчинд хэдэн төгрөг байгаа вэ? $"); {moneyInWallet = userInputScanner.nextDouble () -ийг туршиж үзээрэй; userInputScanner.nextLine (); validInput = үнэн; } барих (InputMismatchException e) {validInput = false; userInputScanner.nextLine (); }} System.out.println ("\ nСайн уу" + нэр + "! Таны хэтэвчэнд" + numberOfCats + (numberOfCats> 1? "Муур": "муур") + "ба $" + moneyInWallet + "байна. / n "); }}
Бид импортлох ёстой гэдгийг анхаарна уу
java.util. InputMismatchException
-г ашиглахын тулд
InputMismatchException
Нэмэж байна
userInputScanner.nextLine ();
Алхам 3. Эсвэл зөвхөн скан хийгчийн дараагийн мөрүүдийг оруулснаар хэрэглэгчийн оролтыг утгагүй болгодог
Ингэснээр бид скан хийгчийн буцааж өгсөн бүх зүйл нь String объект бөгөөд ямар ч үл хамаарах зүйл үүсгэхгүй байх болно. Дараа нь мөрүүдийг бүхэл тоо эсвэл хоёртын тоо болгон хөрвүүлэхийн тулд бид Integer болон Double wrapper ангиудыг ашиглаж болно.
java.util. Scanner импортлох; public class ScannerExample {public static void main (String args) {// Шинэ сканнер скан хийгчийг эхлүүлэх userInputScanner = шинэ сканнер (System.in); // nextLine тест хийх (); System.out.print ("\ nТаныг хэн гэдэг вэ?"); Мөрийн нэр = userInputScanner.nextLine (); // NextInt () тест хийх; boolean validInput = худал; int numberOfCats = 0; while (! validInput) {System.out.print ("Та хэдэн мууртай вэ?"); String input = userInputScanner.nextLine (); {numberOfCats = Integer.parseInt (оролт) -ыг туршиж үзээрэй; validInput = үнэн; } барих (NumberFormatException e) {validInput = false; }} // Testing nextDouble (); validInput = худал; давхар moneyInWallet = 0.0; while (! validInput) {System.out.print ("Таны хэтэвчинд хэдэн төгрөг байгаа вэ? $"); String input = userInputScanner.nextLine (); {moneyInWallet = Double.parseDouble (оролт) -ыг туршиж үзээрэй; validInput = үнэн; } барих (NumberFormatException e) {validInput = false; }} System.out.println ("\ nСайн уу" + нэр + "! Таны хэтэвчэнд" + numberOfCats + (numberOfCats> 1? "Муур": "муур") + "ба $" + moneyInWallet + "байна. / n "); }}
Энд бид импортлох шаардлагагүй гэдгийг анхаарна уу
NumberFormatException
Бид мөн ашиглан буферыг цэвэрлэх шаардлагагүй байсан
userInputScanner.nextLine ();
Зөвлөмж
- Сканнерын ангийг ашиглах талаар нэмэлт мэдээлэл авахын тулд Scanner API -ийг үзнэ үү.
- Дараагийн үгийг уншихын тулд.nextLine () -ний оронд үргэлж.next () -г ашиглаарай.nextLine () нь алдаатай байж болзошгүй.