Java дээр хэрэглэгчийн оролтыг хэрхэн авах вэ (зурагтай)

Агуулгын хүснэгт:

Java дээр хэрэглэгчийн оролтыг хэрхэн авах вэ (зурагтай)
Java дээр хэрэглэгчийн оролтыг хэрхэн авах вэ (зурагтай)

Видео: Java дээр хэрэглэгчийн оролтыг хэрхэн авах вэ (зурагтай)

Видео: Java дээр хэрэглэгчийн оролтыг хэрхэн авах вэ (зурагтай)
Видео: Plague Inc. Evolved - Prion Walkthrough (Mega Brutal) 2024, May
Anonim

Java эсвэл өөр хэл дээр програмчлахдаа хэрэглэгчийн оруулсан мэдээллийг ашиглах шаардлагатай болно. Java нь хэрэглэгчийн мэдээллийг авах олон янзын аргуудыг санал болгодог боловч хамгийн түгээмэл бөгөөд хэрэгжүүлэхэд хамгийн хялбар арга бол Сканнерын объектыг ашиглах явдал юм.

Алхам

2 -р арга 1: Видео бичлэгүүд

1514756 1
1514756 1

Алхам 1. Сканнерын ангийг импортлох

Та импортлохыг сонгож болно

java.util. Сканнер

анги эсвэл бүхэлд нь

java.util

багц. Ангилал эсвэл багцыг импортлохын тулд кодынхоо эхэнд дараах мөрүүдийн аль нэгийг нэмнэ үү.

    java.util. Scanner импортлох; // Энэ нь зөвхөн сканнерын ангийг импортлох болно. java.util импортлох.*; // Энэ нь java.util багцыг бүхэлд нь импортлох болно.

1514756 2
1514756 2

Алхам 2. дамжуулах замаар шинэ сканнерын объектыг эхлүүлэх

System.in

бүтээгч рүү оруулах урсгал.

System.in

нь аль хэдийн нээгдсэн бөгөөд оролтын өгөгдлийг нийлүүлэхэд бэлэн болсон стандарт оролтын урсгал юм. Ихэвчлэн энэ урсгал нь гарын оролттой нийцдэг.

    Сканнер хэрэглэгчInputScanner = шинэ сканнер (System.in);

1514756 3
1514756 3

Алхам 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 -р арга: Үл хамаарах зүйлийг зохицуулах

1514756 4
1514756 4

Алхам 1. Оролтын үл хамаарах зүйлийг зохицуулах

Ан

InputMismatchException

Хэрэглэгч хүссэн төрөлтэйгээ таарахгүй өгөгдөл оруулах үед хаядаг. Жишээлбэл, хэрэв хэрэглэгч int асуух үед String -т орвол програм нь

InputMismatchException

ба гарах. Энэхүү үл хамаарах зүйлийг шийдвэрлэх, энэ асуудлыг шийдэх хэд хэдэн арга байдаг бөгөөд ингэснээр таны програмыг мунхаг болгохгүй.

1514756 5
1514756 5

Алхам 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 ();

  • оролдох барих хэсэгт сканнер нь хэрэглэгчээс "оруулах" товчлуурыг хүлээн зөвшөөрч, оролтын буферийг цэвэрлэх арга хэлбэрээр ажилладаг болохыг баталгаажуулдаг.
1514756 6
1514756 6

Алхам 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

  • java.lang багцын нэг хэсэг учраас энэ нь дотор нь орж ирдэг гэсэн үг юм.
  • Бид мөн ашиглан буферыг цэвэрлэх шаардлагагүй байсан

    userInputScanner.nextLine ();

  • оролдохын барих хэсэгт.

Зөвлөмж

  • Сканнерын ангийг ашиглах талаар нэмэлт мэдээлэл авахын тулд Scanner API -ийг үзнэ үү.
  • Дараагийн үгийг уншихын тулд.nextLine () -ний оронд үргэлж.next () -г ашиглаарай.nextLine () нь алдаатай байж болзошгүй.

Зөвлөмж болгож буй: