نحوه دریافت ورودی از کاربر در جاوا (همراه با تصاویر)

فهرست مطالب:

نحوه دریافت ورودی از کاربر در جاوا (همراه با تصاویر)
نحوه دریافت ورودی از کاربر در جاوا (همراه با تصاویر)

تصویری: نحوه دریافت ورودی از کاربر در جاوا (همراه با تصاویر)

تصویری: نحوه دریافت ورودی از کاربر در جاوا (همراه با تصاویر)
تصویری: در قلب یک زندان فرانسوی 2024, ممکن است
Anonim

هنگام برنامه نویسی به جاوا یا هر زبان دیگر ، به احتمال زیاد باید از اطلاعات ورودی یک کاربر استفاده کنید. جاوا روشهای متفاوتی را برای به دست آوردن اطلاعات کاربر ارائه می دهد ، اما متداول ترین و شاید ساده ترین روش برای استفاده از شیء اسکنر است.

مراحل

روش 1 از 2: فیلم ها

1514756 1
1514756 1

مرحله 1. کلاس Scanner را وارد کنید

یا می توانید وارد کردن را انتخاب کنید

java.util. Scanner

کلاس یا کل

java.util

بسته برای وارد کردن کلاس یا بسته ، یکی از خطوط زیر را به ابتدای کد خود اضافه کنید:

    واردات java.util. Scanner؛ // این فقط کلاس Scanner را وارد می کند. واردات java.util.*؛ // با این کار کل بسته java.util وارد می شود.

1514756 2
1514756 2

مرحله 2. با عبور از یک شیء جدید اسکنر ، آن را اولیه کنید

System.in

جریان ورودی به سازنده

System.in

جریان ورودی استاندارد است که از قبل باز است و آماده ارائه داده های ورودی است. به طور معمول این جریان مربوط به ورودی صفحه کلید است.

    اسکنر userInputScanner = اسکنر جدید (System.in) ؛

1514756 3
1514756 3

مرحله 3. انواع مختلف داده های ورودی را که کاربر وارد می کند بخوانید

کلاس Scanner از بدست آوردن بدوی مانند int ، byte ، short ، long علاوه بر دریافت رشته پشتیبانی می کند.

  • در اینجا چند روش وجود دارد که از طریق کلاس Scanner در دسترس هستند:

    • یک بایت بخوانید -

      nextByte ()

    • مختصر بخوانید -

      nextShort ()

    • یک int بخوانید -

      nextInt ()

    • طولانی بخوانید -

      nextLong ()

    • شناور بخوانید -

      nextFloat ()

    • دوبله بخوانید -

      nextDouble ()

    • بولین بخوانید -

      nextBoolean ()

    • یک خط کامل بخوانید -

      nextLine ()

    • یک کلمه بخوانید -

      بعد()

  • در اینجا نمونه ای از برنامه ای است که از روش های مختلف کلاس Scanner برای دریافت انواع مختلف ورودی استفاده می کند:

      واردات java.util. Scanner؛ کلاس عمومی 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 ("چه مقدار پول در کیف پول شما وجود دارد؟ $")؛ double moneyInWallet = userInputScanner.nextDouble ()؛ System.out.println ("\ n سلام" + نام + "! شما" + numberOfCats + (numberOfCats> 1؟ "cats": "cat") + "و $" + moneyInWallet + "در کیف پول خود دارید. / n")؛ }}

روش 2 از 2: مدیریت استثنائات

1514756 4
1514756 4

مرحله 1. استثنائات ورودی را کنترل کنید

یک

InputMismatchException

وقتی کاربر داده هایی را وارد می کند که با نوع درخواستی مطابقت ندارد وارد می شود. به عنوان مثال ، اگر کاربر هنگامی که از int درخواست می شود ، یک String وارد کند ، برنامه آن را پرتاب می کند

InputMismatchException

و خروج روش های مختلفی برای رسیدگی به این استثنا و حل این مشکل وجود دارد تا برنامه شما بی عیب و نقص باشد.

1514756 5
1514756 5

مرحله 2. از یک بلوک try-catch برای مدیریت استفاده کنید

InputMismatchException

.

    import java.util. InputMismatchException؛ واردات java.util. Scanner؛ کلاس عمومی ScannerExample {public static void main (String args) {// راه اندازی اسکنر جدید userInputScanner = اسکنر جدید (System.in) ؛ // تست nextLine ()؛ System.out.print ("\ n نام شما چیست؟")؛ نام رشته = userInputScanner.nextLine ()؛ // تست nextInt ()؛ boolean validInput = false؛ int numberOfCats = 0 ؛ while (! validInput) {System.out.print ("چند گربه دارید؟")؛ سعی کنید {numberOfCats = userInputScanner.nextInt ()؛ validInput = true؛ } catch (InputMismatchException e) {validInput = false؛ userInputScanner.nextLine ()؛ }} // تست nextDouble ()؛ validInput = false؛ double moneyInWallet = 0.0؛ while (! validInput) {System.out.print ("چقدر پول در کیف پول شما وجود دارد؟ $")؛ سعی کنید {moneyInWallet = userInputScanner.nextDouble ()؛ userInputScanner.nextLine ()؛ validInput = true؛ } catch (InputMismatchException e) {validInput = false؛ userInputScanner.nextLine ()؛ }} System.out.println ("\ n سلام" + نام + "! شما" + numberOfCats + (numberOfCats> 1؟ "cats": "cat") "cat") + "و $" + moneyInWallet + "در کیف پول خود دارید. / n ") ؛ }}

  • توجه داشته باشید که ما باید وارد کنیم

    java.util. InputMismatchException

    به منظور استفاده از

    InputMismatchException

  • کلاس
  • ما از حلقه while استفاده می کنیم تا همان سوال را از کاربر بپرسیم تا زمانی که کاربر ورودی صحیح را وارد کند.
  • اضافه كردن

    userInputScanner.nextLine ()؛

  • در قسمت catch try-catch اطمینان حاصل می کند که اسکنر فشار کلید "enter" را از طرف کاربر تایید می کند و به عنوان راهی برای پاک کردن بافر ورودی عمل می کند.
1514756 6
1514756 6

مرحله 3. روش دیگر ، فقط با استفاده از خطوط بعدی از اسکنر ، ورودی کاربر را بی عیب و نقص کنید

به این ترتیب ، ما می توانیم اطمینان حاصل کنیم که همه چیزهایی که اسکنر برمی گرداند یک شی String است و هیچ استثنا ایجاد نمی کند. سپس ، برای تبدیل رشته ها به عدد صحیح یا دو برابر ، می توانیم از کلاس های Integer و Double wrapper استفاده کنیم.

    واردات java.util. Scanner؛ کلاس عمومی ScannerExample {public static void main (String args) {// راه اندازی اسکنر جدید userInputScanner = اسکنر جدید (System.in) ؛ // تست nextLine ()؛ System.out.print ("\ n نام شما چیست؟")؛ نام رشته = userInputScanner.nextLine ()؛ // آزمایش nextInt ()؛ boolean validInput = false؛ int numberOfCats = 0 ؛ while (! validInput) {System.out.print ("چند گربه دارید؟")؛ رشته ورودی = userInputScanner.nextLine ()؛ سعی کنید {numberOfCats = Integer.parseInt (ورودی) ؛ validInput = true؛ } catch (NumberFormatException e) {validInput = false؛ }} // تست nextDouble ()؛ validInput = false؛ double moneyInWallet = 0.0؛ while (! validInput) {System.out.print ("چقدر پول در کیف پول شما وجود دارد؟ $")؛ رشته ورودی = userInputScanner.nextLine ()؛ سعی کنید {moneyInWallet = Double.parseDouble (ورودی) ؛ validInput = true؛ } catch (NumberFormatException e) {validInput = false؛ }} System.out.println ("\ n سلام" + نام + "! شما" + numberOfCats + (numberOfCats> 1؟ "cats": "cat") "cat") + "و $" + moneyInWallet + "در کیف پول خود دارید. / n ") ؛ }}

  • توجه داشته باشید که در اینجا نیازی به وارد کردن آن نداریم

    NumberFormatException

  • کلاس به دلیل اینکه بخشی از بسته java.lang است ، به این معنی که ساخته شده است.
  • همچنین نیازی به پاک کردن بافر با استفاده از آن نداریم

    userInputScanner.nextLine ()؛

  • در قسمت گرفتن try-catch.

نکات

  • برای اطلاعات بیشتر در مورد استفاده از کلاس Scanner ، به API اسکنر مراجعه کنید.
  • همیشه از.next () به جای.nextLine () برای خواندن کلمه بعدی استفاده کنید ، زیرا.nextLine () می تواند اشکال داشته باشد.

توصیه شده: