Java --- Scanner类

…衆ロ難τιáo~ 提交于 2020-02-03 07:55:24

java.util.scanner是java5的新特性通过Scanner类来获取用户的输入。

创建Scanner对象: Scanner s = new Scanner(System.in);

常用的方法:

1. 获取输入的字符串 next()和nextLine() 

1.1 next()方法接收字符串

public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
        // next方式接收字符串
        System.out.println("next方式接收:");
        // 判断是否还有输入
        if (scanner.hasNext()) {
            String str1 = scanner.next();
            System.out.println("输入的数据为:" + str1);
        }
        scanner.close();
	}	

输出结果为:

1.2 nextLine()方法接收字符串 

public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
        // next方式接收字符串
        System.out.println("nextLine方式接收:");
        // 判断是否还有输入
        if (scanner.hasNextLine()) {
            String str1 = scanner.nextLine();
            System.out.println("输入的数据为:" + str1);
        }
        scanner.close();
	}

输出的结果为:

 可以看出两者的区别:

next()

     1.一定要读到有效字符后才可以结束输入

     2.对输入有效字符之前遇到的空白,next()方法会自动将其去掉

     3.只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符

     4.next()方法不能得到带有空格的字符串

nextLine()

     1.以Enter为结束符,即nextLine()方法返回的是输入回车之前的所有字符

     2.可以获得空白

2.获得数值类型的数据,在输入之前最好先使用 hasNextXxx() 方法进行验证,再使用 nextXxx() 来读取

    Scanner sc=new Scanner(System.in);

找变量接收  sc.nextShort(); //short类型
                    sc.nextByte();  //byte
                    sc.nextInt();   //int
                    sc.nextLong();  //long
                    sc.nextFloat();
                    sc.nextDouble();
                    sc.nextBoolean();
          

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!