Home > Java > javaTutorial > Detailed explanation of Scanner operation in Java

Detailed explanation of Scanner operation in Java

WBOY
Release: 2023-06-15 20:43:44
Original
17117 people have browsed it

Scanner is a commonly used class in Java, used to read input data from the console or file. It provides a simple way to parse basic types and strings, and supports matching regular expressions.

The Scanner class is located in the java.util package, so you need to import this package when writing a program. Before we start using Scanner, we need to create a Scanner object to access the input source.

The syntax for creating a Scanner object is:

Scanner scanner = new Scanner(System.in);
Copy after login

The above code creates a Scanner object, which can be used to read data from the standard input stream. In addition, we can also use other input streams to create Scanner objects.

Let’s take a look at some commonly used Scanner operations.

  1. Reading a string

We can use the next() method to read a string, which will read the next word in the console input and Returns a string.

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个字符串:");
String str = scanner.next();
System.out.println("你输入的字符串是:" + str);
Copy after login

The above code runs the result:

请输入一个字符串:Hello World!
你输入的字符串是:Hello
Copy after login

The above code only reads the first word "Hello" in the input, because the next() method uses spaces to separate the input characters by default. string, so it will only read the first word in the input. If you need to read the entire string, you can use the nextLine() method.

  1. Reading integers

We can use nextInt() or nextLong() to read an integer or long integer. If the input is not a numeric type, it will throw InputMismatchException exception.

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数:");
int num = scanner.nextInt();
System.out.println("你输入的整数是:" + num);
Copy after login

The above code results:

请输入一个整数:123
你输入的整数是:123
Copy after login
  1. Read floating point data

We can use nextFloat() or nextDouble() to read Get a floating point data. If the input is not floating point data, an InputMismatchException will be thrown.

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个浮点数:");
float f = scanner.nextFloat();
System.out.println("你输入的浮点数是:" + f);
Copy after login

The above code runs the result:

请输入一个浮点数:3.14
你输入的浮点数是:3.14
Copy after login
  1. Read Boolean type data

We can use the nextBoolean() method to read a Boolean type Data, if the input value is not true or false, an InputMismatchException will be thrown.

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个布尔值(true/false):");
boolean b = scanner.nextBoolean();
System.out.println("你输入的布尔值是:" + b);
Copy after login

The above code runs the result:

请输入一个布尔值(true/false):true
你输入的布尔值是:true
Copy after login
  1. Reading regular expressions

Scanner also provides a findInLine() method to read regular expressions expression. This method reads the first occurrence of the regular expression in the console input and returns a matching string.

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个正则表达式:");
String pattern = scanner.findInLine("\d+");
System.out.println("你输入的正则表达式匹配的字符串是:" + pattern);
Copy after login

The above code execution result:

请输入一个正则表达式:Hello 123 World!
你输入的正则表达式匹配的字符串是:123
Copy after login

The above are some common operations of the Scanner class. I hope it will be helpful to everyone learning Java.

The above is the detailed content of Detailed explanation of Scanner operation in Java. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template