博客
关于我
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/

你可能感兴趣的文章
渗透测试学习笔记之案例五
查看>>
wxPython中TextCtrl的输入上限问题
查看>>
2021-ICPD昆明站-I Mr. Main and Windmills
查看>>
1144. The Missing Number (20)
查看>>
Qt Creator编码
查看>>
【今日CV 计算机视觉论文速览 第97期】Tue, 9 Apr 2019
查看>>
第1讲 快速入门 《Kotlin 极简教程 》
查看>>
云计算-大数据-云安全高等教育改革示范教材
查看>>
使用MaxCompute进行数据质量核查
查看>>
Java语言特点与学习
查看>>
夜光精讲 Opentcs 三大算法(十三)调度算法
查看>>
error TS1192: Module ‘“fs“‘ has no default export.
查看>>
BCGControlBar教程:应用向导
查看>>
MyEclipse教程:Web开发——部署并测试项目
查看>>
【更新】CLion v2018.3发布(六):VCS和插件
查看>>
文件服务器——src文件夹
查看>>
从零构建通讯器--4.4-4.5信号在创建线程的实战作用、write函数写入日志设置成不混乱、文件IO详解
查看>>
从零构建通讯器--5.2三次握手,telnet,wireshark
查看>>
如何判断两个浮点数是否相等?
查看>>
2021牛客寒假算法基础集训营3
查看>>