Scanner类

来源:互联网 发布:淘宝产品标题怎么写 编辑:程序博客网 时间:2024/06/06 02:22
import java.util.Scanner;/* * Scanner类:从键盘读取数据 *  * 为了避免输入的数据和读取的数据不匹配性,可以在读取数据之前用hasNextXxx方法判断数据是否是想要的数据 * 比如想要的是int类型数据,可以先使用hasNextInt方法判断,用户输入的数据是否是int类型;如果是再使用nextInt接收 */public class ScannerDemo {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        System.out.println("请输入一个整数");        if (sc.hasNextInt()) {            int i = sc.nextInt();// InputMismatchException            System.out.println(i);        } else {            System.out.println("你输入的不是一个整数");        }    }}
import java.util.Scanner;/* * Scanner一般使用空格,回车换行作为结束标记 *  * 使用Scanner先nextInt然后再nextLine会出现bug?nextLine无法接收键盘录入的值 *  我们先使用nextIne接收了数据123,但是\r\n并没有接收;然后紧接着nextLine接收了\r\n以为输入结束了,然后输出了回车换行    所以给我们造成了错觉,好像nextLine并没有接收数据   我们怎么解决呢?    可以把所有想要接收的数据都用nextLine接收,然后再强转 */public class ScannerDemo2 {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        /*         * System.out.println(sc.nextInt()); System.out.println(sc.nextInt());         * System.out.println(sc.nextInt());         */        System.out.println("请输入一个整数:");        if (sc.hasNextInt()) {            String ss = sc.nextLine();            //把字符串强转成int值            int i = Integer.parseInt(ss);            System.out.println(i);        }        System.out.println("请输入一个字符串:");        String s = sc.nextLine();        System.out.println(s);    }}
原创粉丝点击