Scanner:用于接收键盘录入数据
常用的两个方法(int举例):
public int nextInt():获取一个int类型的值
public String nextLine():获取一个String类型的值
有时候会出现问题:
先获取一个数值,在获取一个字符串,会出现问题。(你只能输入数值,系统直接跳出结果,无法输入字符串)
主要原因:就是那个换行符号的问题。(回车键)
如何解决呢?
A:先获取一个数值,再创建一个新的键盘录入对象获取字符串。
B:先把所有的数据都按照字符串获取,然后要什么,你就对应的转换为什么。
基本格式:
public boolean hasNextXxx():判断是否是某种类型的元素
public Xxx nextXxx():获取该元素
举例:用int类型的方法举例
public boolean hasNextInt()
public int nextInt()
错误注意:
InputMismatchException:输入的和你想要的不匹配
1
package cn_scanner;
import java.util.Scanner;
public class Scanner_1 { 2 public static void main(String[] args) { 3 Scanner sc = new Scanner(System.in); 4 if(sc.hasNextInt()){//判断输入的数据是否是int类型的 5 int x = sc.nextInt(); 6 System.out.println("x:"+x); 7 } 8 else{ 9 System.out.println("您输入的数据类型不匹配"); 10 } 11 //这个格式是最为严谨的Scanner格式 12 13 //下面为解决 先获取一个数值,在获取一个字符串,会出现问题 的两个解决方案: 14 //第一个方法:先获取一个数值,再创建一个新的键盘录入对象获取字符串。 15 int a = sc.nextInt(); 16 Scanner sc2 = new Scanner(System.in); 17 String s = sc2.nextLine(); 18 System.out.println("a:"+a+" "+"s"+s); 19 //这个方法较为麻烦,若是需要很多次的输入扫描,则要创建很多个Scanner。 20 21 //第二个方法:先把所有的数据都按照字符串获取,然后要什么,你就对应的转换为什么。 22 //这个在之前的学习中有,记载在安卓巴士的文章中 23 } 24 25 }