როგორ მივიღოთ შეყვანა მომხმარებლისგან Java– ში (სურათებით)

Სარჩევი:

როგორ მივიღოთ შეყვანა მომხმარებლისგან Java– ში (სურათებით)
როგორ მივიღოთ შეყვანა მომხმარებლისგან Java– ში (სურათებით)

ვიდეო: როგორ მივიღოთ შეყვანა მომხმარებლისგან Java– ში (სურათებით)

ვიდეო: როგორ მივიღოთ შეყვანა მომხმარებლისგან Java– ში (სურათებით)
ვიდეო: Plague Inc: The Cure - Prion Mega-Brutal Guide 2024, აპრილი
Anonim

ჯავაში ან სხვა ენაზე პროგრამირებისას, დიდი ალბათობით დაგჭირდებათ მომხმარებლისგან შეყვანის ინფორმაციის გამოყენება. ჯავა გთავაზობთ უამრავ განსხვავებულ მეთოდს მომხმარებლის ინფორმაციის მისაღებად, მაგრამ ყველაზე გავრცელებული და ალბათ ყველაზე მარტივი მეთოდი არის სკანერის ობიექტის გამოყენება.

ნაბიჯები

მეთოდი 2 დან 2: ვიდეო

1514756 1
1514756 1

ნაბიჯი 1. შემოიტანეთ სკანერის კლასი

თქვენ შეგიძლიათ აირჩიოთ იმპორტი

java.util. Scanner

კლასი ან მთლიანად

java.util

პაკეტი. კლასის ან პაკეტის იმპორტისათვის დაამატეთ ერთი შემდეგი ხაზი თქვენი კოდის დასაწყისში:

    java.util. Scanner იმპორტი; // ეს შემოიტანს მხოლოდ სკანერის კლასს. java.util.*; // ეს შემოიტანს მთელ java.util პაკეტს.

1514756 2
1514756 2

ნაბიჯი 2. ახალი სკანერის ობიექტის ინიციალიზაცია

სისტემა. In

შეყვანის ნაკადი კონსტრუქტორში.

სისტემა. In

არის სტანდარტული შეყვანის ნაკადი, რომელიც უკვე ღიაა და მზადაა მიაწოდოს შეყვანის მონაცემები. როგორც წესი, ეს ნაკადი შეესაბამება კლავიატურის შეყვანას.

    სკანერი userInputScanner = ახალი სკანერი (System.in);

1514756 3
1514756 3

ნაბიჯი 3. წაიკითხეთ სხვადასხვა სახის შეყვანის მონაცემები, რომელსაც მომხმარებელი შეიყვანს

სკანერის კლასი მხარს უჭერს პრიმიტივების მიღებას, როგორიცაა int, byte, short, long გარდა სტრიქონების მიღებისა.

  • აქ მოცემულია რამდენიმე მეთოდი, რომლებიც ხელმისაწვდომია სკანერის კლასში:

    • წაიკითხეთ ბაიტი -

      შემდეგი ბიტი ()

    • მოკლედ წაიკითხე -

      შემდეგი მოკლე ()

    • წაიკითხეთ ინ -

      შემდეგი ()

    • დიდხანს წაიკითხე -

      შემდეგი დიდხანს ()

    • წაიკითხეთ ათწილადი -

      nextFloat ()

    • წაიკითხეთ ორმაგი -

      შემდეგი ორმაგი ()

    • წაიკითხეთ ლოგიკური -

      შემდეგი ლოგიკური ()

    • წაიკითხეთ სრული სტრიქონი -

      შემდეგი ხაზი ()

    • წაიკითხეთ სიტყვა -

      შემდეგი ()

  • აქ არის პროგრამის მაგალითი, რომელიც იყენებს სკანერის კლასის სხვადასხვა მეთოდს სხვადასხვა სახის შეყვანის მისაღებად:

      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? "Cats": "კატა") + "და $" + moneyInWallet + "თქვენს საფულეში. / N"); }}

მეთოდი 2 დან 2: გამონაკლისების დამუშავება

1514756 4
1514756 4

ნაბიჯი 1. გაუმკლავდეთ შეყვანის გამონაკლისებს

ან

InputMismatchException

ის აგდება მაშინ, როდესაც მომხმარებელი შეიყვანს მონაცემებს, რომლებიც არ შეესაბამება მოთხოვნილ ტიპს. მაგალითად, თუ მომხმარებელი შეიყვანს სტრინგს, როდესაც მოთხოვნილია int, პროგრამა ჩააგდებს მას

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 (); ლოგიკური validInput = false; int ნომერიOfCats = 0; ხოლო (! validInput) {System.out.print ("რამდენი კატა გყავს?"); სცადეთ {numberOfCats = userInputScanner.nextInt (); validInput = ჭეშმარიტი; } catch (InputMismatchException e) {validInput = false; userInputScanner.nextLine (); }} // ტესტირება nextDouble (); validInput = ყალბი; ორმაგი ფული InWallet = 0.0; while (! validInput) {System.out.print ("რამდენი ფული არის თქვენს საფულეში? $"); სცადეთ {moneyInWallet = userInputScanner.nextDouble (); userInputScanner.nextLine (); validInput = ჭეშმარიტი; } catch (InputMismatchException e) {validInput = false; userInputScanner.nextLine (); }} System.out.println ("\ n გამარჯობა" + სახელი + "! თქვენ გაქვთ" + numberOfCats + (numberOfCats> 1? "Cats": "კატა") "" + "და $" + moneyInWallet + "თქვენს საფულეში. / n "); }}

  • გაითვალისწინეთ, რომ ჩვენ უნდა შემოვიტანოთ

    java.util. InputMismatchException

    იმისათვის, რომ გამოიყენოთ

    InputMismatchException

  • კლასი.
  • ჩვენ ვიყენებთ while მარყუჟს, რომ დაუსვათ მომხმარებელს იგივე შეკითხვა, სანამ მომხმარებელი არ შეიყვანს სწორ შეყვანას.
  • დამატება

    userInputScanner.nextLine ();

  • try-catch- ის დაჭერის ნაწილში დარწმუნებულია, რომ სკანერი აღიარებს მომხმარებლის "შესვლის" ღილაკს და ფუნქციონირებს როგორც შეყვანის ბუფერის გასუფთავების საშუალება.
1514756 6
1514756 6

ნაბიჯი 3. გარდა ამისა, გახადეთ მომხმარებლის შეყვანა უტყუარი მხოლოდ სკანერიდან მომდევნო ხაზების აღებით

ამ გზით, ჩვენ შეგვიძლია დავრწმუნდეთ, რომ ყველაფერი რასაც სკანერი აბრუნებს არის სიმებიანი ობიექტი და არ შექმნის რაიმე გამონაკლისს. შემდეგ, სტრიქონების მთელ რიცხვზე ან ორმაგად გადასაყვანად, შეგვიძლია გამოვიყენოთ მთლიანი და ორმაგი შეფუთვის კლასები.

    java.util. Scanner იმპორტი; public class ScannerExample {public static void main (String args) {// ახალი სკანერის სკანერის ინიცირება userInputScanner = ახალი სკანერი (System.in); // ტესტირება nextLine (); System.out.print ("\ n რა გქვია?"); სიმებიანი სახელი = userInputScanner.nextLine (); // ტესტირება nextInt (); ლოგიკური validInput = false; int ნომერიOfCats = 0; ხოლო (! validInput) {System.out.print ("რამდენი კატა გყავს?"); სიმებიანი შეყვანა = userInputScanner.nextLine (); სცადეთ {numberOfCats = Integer.parseInt (შეყვანა); validInput = ჭეშმარიტი; } catch (NumberFormatException e) {validInput = false; }} // ტესტირება nextDouble (); validInput = ყალბი; ორმაგი ფული InWallet = 0.0; while (! validInput) {System.out.print ("რამდენი ფული არის თქვენს საფულეში? $"); სიმებიანი შეყვანა = userInputScanner.nextLine (); სცადეთ {moneyInWallet = Double.parseDouble (შეყვანა); validInput = ჭეშმარიტი; } catch (NumberFormatException e) {validInput = false; }} System.out.println ("\ n გამარჯობა" + სახელი + "! თქვენ გაქვთ" + numberOfCats + (numberOfCats> 1? "Cats": "კატა") "" + "და $" + moneyInWallet + "თქვენს საფულეში. / n "); }}

  • გაითვალისწინეთ, რომ აქ ჩვენ არ გვჭირდება იმპორტის შემოტანა

    NumberFormatException

  • კლასი, რადგან ის java.lang პაკეტის ნაწილია, რაც იმას ნიშნავს, რომ ის ჩამონტაჟებულია.
  • ჩვენ ასევე არ გვჭირდება ბუფერის გაწმენდა გამოყენებით

    userInputScanner.nextLine ();

  • ლელო-დაჭერის დაჭერის ნაწილში.

Რჩევები

  • იხილეთ სკანერის API დამატებითი ინფორმაციისთვის სკანერის კლასის გამოყენების შესახებ.
  • ყოველთვის გამოიყენეთ.next () ნაცვლად.nextLine () მომდევნო სიტყვის წასაკითხად, რადგანაც.

გირჩევთ: