博客
关于我
11-01 Java语言基础(Scanner类)
阅读量:297 次
发布时间:2019-03-03

本文共 1355 字,大约阅读时间需要 4 分钟。

Scanner类概述

Scanner的构造方法:

Scanner(InputStream source)

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

public static final InputStream in;

这是标准的输入流,对应着键盘录入。

Scanner类使用

  • hasNextxxx():判断是否还有下一个输入项,其中xxx可以是Int,Double等。如果需要判断是否包含下一个字符串,则可以省略xxx。
  • nextxxx():获取下一个输入项。xxx的含义和上个方法中的xxx相同,默认情况下,Scanner使用空格,回车作为分隔符。

代码:

package com.heima.scanner;import java.util.Scanner;public class Demo1_Scanner {   	public static void main(String[] args) {   		Scanner in = new Scanner(System.in);  //键盘录入		if(in.hasNextInt()) {   			int i = in.nextInt();    //键盘录入整数存储在i中			System.out.println(i);		}else {   			System.out.println("输入类型错误");		}	}}

nextInt()和nextLine()连用的问题及解决方案

package com.heima.scanner;import java.util.Scanner;public class Demo2_Scanner {   	public static void main(String[] args) {   				Scanner in = new Scanner(System.in);				System.out.println("请输入一个整数:");		int i = in.nextInt();				System.out.println("请输入一个字符串:");		String str = in.nextLine();				System.out.println("i = " + i + ", str = " + str);	}}

输出:

请输入一个整数:12请输入一个字符串:i = 12, str =

分析:

nextInt()是键盘录入整数的方法,当我们录入10并回车时,其实在键盘上录入的是10\r\n。nextInt()只获取10就结束了。nextLine()是键盘录入字符串的方法,会获取一整行,遇到\r\n就结束了。所以nextLine()什么也没获取到就结束了。其实,next()、nextInt()、nextDouble()等与nextLine()连用时都会存在这个问题。

解决办法:

1、所有的输入都使用nextLine(),然后分别转化成它们本来的类型2、如果nextLine()获取的是不带空格的字符串,使用next()即可。next()输入在得到有效字符前会忽视掉空格和回车。3、如果获得的字符串有空格,那么在上一次的nextInt()之后再加一个nextLine()即可。

转载地址:http://nkjq.baihongyu.com/

你可能感兴趣的文章
2021年压力焊证考试及压力焊实操考试视频
查看>>
2021年低压电工考试及低压电工考试申请表
查看>>
2021年低压电工考试及低压电工考试申请表
查看>>
2021年A特种设备相关管理(电梯)考试APP及A特种设备相关管理(电梯)复审考试
查看>>
2021年N1叉车司机考试题及N1叉车司机复审模拟考试
查看>>
2021年危险化学品经营单位主要负责人考试APP及危险化学品经营单位主要负责人多少钱
查看>>
2021年T电梯修理考试技巧及T电梯修理模拟考试软件
查看>>
2021年电工(初级)考试及电工(初级)证考试
查看>>
大数据学习之Spark——00Spark项目的pom.xml文件
查看>>
从 MFC 移植程序到 wxWidgets 界面库 ——《定时执行专家 5.0》的界面实现
查看>>
CodeBlocks开发wxWidgets环境配置详细
查看>>
wxSqlite3 和 wxPropertyGrid 类库的说明
查看>>
天涯人脉通讯录 - 设计草图
查看>>
wxWidgets 最新版2.8.11,终于放出来了
查看>>
python学习09:暂停一秒后再输出
查看>>
6、ShardingSphere 之 读写分离
查看>>
C++ STL
查看>>
拓扑排序
查看>>
解方程
查看>>
练习赛 位运算 思维 思维
查看>>