Scanner类

mac2024-01-25  41

Scanner类

一、Scanner的概述和构造方法原理

1.Scanner的概述:

​ JDK5以后用于获取用户的键盘输入

2.Scanner的构造方法原理

​ Scanner(InputStream source)

​ System类下有一个静态的字段:

​ public static final InputStream in; 标准的输入流,对应着键盘录入。

二、Scanner类的hasNextXxx()和nextXxx()方法的讲解

1.基本格式

​ hasNextXxx() 判断下一个是否是某种类型的元素,其中Xxx可以是Int,Double等。 ​ 如果需要判断是否包含下一个字符串,则可以省略Xxx ​ nextXxx() 获取下一个输入项。Xxx的含义和上个方法中的Xxx相同

2.例子

public class Demo { public static void main(String[] args) { while (true){ Scanner scanner = new Scanner(System.in); System.out.println("请输入一个整数"); //hasXXX 判断录入数据的类型 if (scanner.hasNextInt()) { int i = scanner.nextInt(); System.out.println(i); break; } else { System.out.println("录入类型不正确,请重新输入一个整数"); } } } }

三、Scanner获取数据出现的小问题及解决方案

public int nextInt():获取一个int类型的值 public String nextLine():获取一个String类型的值 public String next():获取一个String类型的值,录入的字符串中间,有空格,空格后面的内容不被录入

public class Demo { public static void main(String[] args) { // Scanner(InputStream source) 构造一个新的 Scanner,它生成的值是从指定的输入流扫描的。 InputStream in = System.in; // in “标准”输入流。此流已打开并准备提供输入数据。通常,此流对应于键盘输入 Scanner scanner = new Scanner(in); //Scanner 常用的两套方法 //录入数据:nextXXX //录入基本类型 /* scanner.nextLong(); scanner.nextDouble(); */ System.out.println("请录入一个整数"); int i = scanner.nextInt(); System.out.println(i); scanner = new Scanner(in); //重写创建一个对象 System.out.println("请随便输入一段字符串"); //录入字符串 String s = scanner.nextLine(); System.out.println(s); //使用nextLine()方法时,你先录入整数,在录入字符串,会导致字符串录入不进去, // 你可以在录入字符串前,重新再创建一个Scanner对象 } }
最新回复(0)