Јава скенер (са примерима)

У овом упутству ћемо научити о Јава Сцаннер-у и његовим методама уз помоћ примера.

ScannerКласа у java.utilпакету се користи за читање улазних података из различитих извора, као што су улазне токове, корисницима, фајлова, итд Узмимо један пример.

Пример 1: Прочитајте ред текста помоћу скенера

 import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); // takes input from the keyboard String name = input.nextLine(); // prints the name System.out.println("My name is " + name); // closes the scanner input.close(); ) )

Оутпут

 Унесите своје име: Келвин Моје име је Келвин

У горњем примеру примети ред

 Scanner input = new Scanner(System.in);

Овде смо креирали објекат са Scannerименованим улазом.

System.inПараметар се користи да се улаз из стандардног улаза. Функционише баш као узимање уноса са тастатуре.

Затим смо користили nextLine()метод Scannerкласе за читање реда текста од корисника.

Сад кад имате неку идеју о томе Scanner, хајде да истражимо више о томе.

Увоз класе скенера

Као што видимо из горњег примера, морамо да увеземо java.util.Scannerпакет пре него што почнемо да користимо Scannerкласу.

 import java.util.Scanner;

Да бисте сазнали више о увозу пакета, посетите Јава пакете.

Направите објекат скенера у Јави

Једном када увозимо пакет, ево како можемо да креирамо Scannerобјекте.

 // read input from the input stream Scanner sc1 = new Scanner(InputStream input); // read input from files Scanner sc2 = new Scanner(File file); // read input from a string Scanner sc3 = new Scanner(String str);

Овде смо креирали објекте Scannerкласе који ће читати улазне податке из ИнпутСтреам, Филе и Стринг.

Методе Јава скенера за унос

ScannerКласа обезбеђује различите методе које омогућавају да прочитате улаза различитих типова.

Метод Опис
nextInt() чита intвредност од корисника
nextFloat() чита floatвредност из корисника
nextBoolean() чита booleanвредност од корисника
nextLine() чита ред текста од корисника
next() чита реч од корисника
nextByte() чита byteвредност од корисника
nextDouble() чита doublе вредност од корисника
nextShort() чита shortвредност од корисника
nextLong() чита longвредност од корисника

Пример 2: Јава Сцаннер нектИнт ()

 import java.util.Scanner; class Main ( public static void main(String() args) ( // creates a Scanner object Scanner input = new Scanner(System.in); System.out.println("Enter an integer: "); // reads an int value int data1 = input.nextInt(); System.out.println("Using nextInt(): " + data1); input.close(); ) )

Оутпут

 Унесите цео број: 22 Коришћењем нектИнт (): 22

У горњем примеру, користили смо nextInt()методу за читање целобројне вредности.

Пример 3: Јава скенер нектДоубле ()

 import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter Double value: "); // reads the double value double value = input.nextDouble(); System.out.println("Using nextDouble(): " + value); input.close(); ) )

Оутпут

 Унесите двоструку вредност: 33,33 Коришћењем нектДоубле (): 33,33

У горњем примеру, користили смо nextDouble()методу за читање вредности са покретном зарезом.

Пример 4: Следећи Јава Сцаннер ()

 import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); // reads the entire word String value = input.next(); System.out.println("Using next(): " + value); input.close(); ) )

Оутпут

 Унесите своје име: Јонни Валкер Користећи нект (): Јонни

У горњем примеру, користили смо next()методу за читање низа од корисника.

Овде смо навели пуно име. Међутим, next()метода чита само прво име.

То је зато што next()метода чита улаз до размака . Једном када се нађе размак , он враћа низ (изузимајући размак).

Пример 5: Јава Сцаннер нектЛине ()

 import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); // reads the entire line String value = input.nextLine(); System.out.println("Using nextLine(): " + value); input.close(); ) )

Оутпут

 Унесите своје име: Јонни Валкер Користећи нектЛине (): Јонни Валкер

У првом примеру смо користили nextLine()методу за читање низа од корисника.

За разлику од тога next(), nextLine()метода чита целу линију уноса укључујући размаке. Метода се прекида када наиђе на следећу линију карактер, .

Recommended Reading: Java Scanner skipping the nextLine().

Java Scanner with BigInteger and BigDecimal

Java scanner can also be used to read the big integer and big decimal numbers.

  • nextBigInteger() - reads the big integer value from the user
  • nextBigDecimal() - reads the big decimal value from the user

Example 4: Read BigInteger and BigDecimal

 import java.math.BigDecimal; import java.math.BigInteger; import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter a big integer: "); // reads the big integer BigInteger value1 = input.nextBigInteger(); System.out.println("Using nextBigInteger(): " + value1); System.out.print("Enter a big decimal: "); // reads the big decimal BigDecimal value2 = input.nextBigDecimal(); System.out.println("Using nextBigDecimal(): " + value2); input.close(); ) )

Output

 Enter a big integer: 987654321 Using nextBigInteger(): 987654321 Enter a big decimal: 9.55555 Using nextBigDecimal(): 9.55555

In the above example, we have used the java.math.BigInteger and java.math.BigDecimal package to read BigInteger and BigDecimal respectively.

Working of Java Scanner

ScannerКласа чита цео линију и дели линију у токена. Токени су мали елементи који за Јава компајлер имају неко значење. На пример,

Претпоставимо да постоји улазни низ:

 He is 22

У овом случају, објекат скенера прочитаће целу линију и дели низ на жетоне: „ Хе “, „ ис “ и „ 22 “. Затим се објекат итерира преко сваког токена и чита сваки токен користећи своје различите методе.

Напомена : Подразумевано се размак користи за поделу токена.

Занимљиви Чланци...