У овом упутству ћемо научити о Јава Сцаннер-у и његовим методама уз помоћ примера.
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 “. Затим се објекат итерира преко сваког токена и чита сваки токен користећи своје различите методе.
Напомена : Подразумевано се размак користи за поделу токена.