一、简介

  • java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。

二、创建对象

示例:

Scanner scanner = new Scanner(System.in);

三、常用方法

Ⅰ、获取输入

方法:

  1. next():获取用户下一次输入的字符串。
  2. nextLine():获取用户下一行输入的字符串。

两者区别:

  • next:

    • 一定要读取到有效字符后才可以结束输入。
    • 对输入有效字符之前遇到的空白符,next方法会自动将其去掉。
    • 只有输入有效字符后才将其后面输入的空白符作为分隔符或者结束符。
    • next方法不能得到带有空白符的字符串。
  • nextLine:
    • 以换行符为结束符,也就是说nextLine方法返回的是输入换行符之前的所有字符。
    • 可以获得空白符。

示例:

scanner.next();
scanner.nextLine();

Ⅱ、是否有输入

方法:

  1. hasNext():判断是否还有下一次用户输入。
  2. hasNextLine():判断是否还有下一行用户输入。

示例:

scanner.hasNext();
scanner.hasNextLine();

Ⅲ、关闭接收

方法:

  • close():关闭扫描器对用户输入的接收。

注意:

  • 凡是属于IO流的类,如果不关闭会一直占用资源。

示例:

scanner.close();

四、综合示例

/* 获取用户在控制台输入的多个数值,输出数值的和与平均值 */
public static void main(String[] args) {
/* 先创建Scanner对象 */
Scanner scanner = new Scanner(System.in);
/* 下面调用Scanner对象的方法来完成操作 */
double sum = 0.0;
int num = 0;
/* 当输入非数值字符串时会结束循环 */
while (scanner.hasNextDouble()) {
double x = scanner.nextDouble();
num++;
sum = sum + x;
}
System.out.println(num + "个数的和为" + sum);
System.out.println(num + "个数的平均值是" + (sum / num));
/* 最后记得关闭Scanner对象 */
scanner.close();
}

Java常用类:Scanner类的更多相关文章

  1. Java常用API(Scanner类)

    Java常用API( Scanner类)1 1.Scanner类 首先给大家介绍一下什么是JavaAPI API(Application Programming Interface),应用程序编程接口 ...

  2. Java 常用对象-Scanner类

    2017-11-02 16:33:11 Scanner类:一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器. Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白 ...

  3. Java Character & String & Scanner类

    Character类 Character 类用于对单个字符进行操作. Character 类在对象中包装一个基本类型 char 的值 char用法: char ch = 'a'; // Unicode ...

  4. Java常用API(ArrayList类)

    Java常用API(ArrayList类) 我们为什么要使用ArrayList类? 为了更加方便的储存对象,因为使用普通的数组来存储对象太过麻烦了,因为数组的一个很大的弱点就是长度从一开始就固定了,所 ...

  5. Java常用API(Math类)

    Java常用API(Math类) Math类的作用 java.lang.Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数.类似这样的工具 类,其所有方法均为静态方法,并且 ...

  6. Java常用API(Arrays类)

    Java常用API(Arrays类) 什么是Arrays类? java.util.Arrays 此类包含用来操作数组的各种方法,比如排序和搜索等.其所有方法均为静态方法,调用起来 非常简单. 这里我们 ...

  7. Java常用API(String类)

    Java常用API(String类) 概述: java.lang.String 类代表字符串.Java程序中所有的字符串文字(例如 "abc" )都可以被看作是实现此类的实例 1. ...

  8. Java常用API(Random类)

    Java常用API(Random类) Random:是一个用于生成随机数的类 构造方法 public Random() :创建一个新的随机数生成器. 返回随机数的方法 public int nextI ...

  9. Java基础之Scanner类中next()与nextLine()方法的区别

    java中使用Scanner类实现数据输入十分简单方便,Scanner类中next()与nextLine()都可以实现字符串String的获取,所以我们会纠结二者之间的区别. 其实next()与nex ...

  10. Java基础教程——Scanner类

    Scanner属于java.util包. java.util包是Java内置的一个工具包,其中包含一系列常用的工具类,如处理日期.日历.集合类: 如果要使用到该包中的类,必须显式引入包名:import ...

随机推荐

  1. vue-cli-----vue实例中template: '<App/>',这样写是什么意思

    我刚开始学,看这个东西看了好久,官网文档的描述我不太理解,今天终于算明白了 官网的描述: 模板将会替换挂载的元素.挂载元素的内容都将被忽略 也就是说:template: '<App/>' ...

  2. .net core 和 WPF 开发升讯威在线客服与营销系统:实现对 IE8 的完全完美支持 【干货】

    本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程.本产品已经成熟稳定并投入商用. 在线演示环境:https://kf.shengxunwei.com 注意 ...

  3. 解决 error MSB4057: 该项目中不存在目标“_CopyWebApplication” 问题

    在使用MSBuild 编译项目的时候报错: 解决办法: 在Web项目中,使用Nuget添加引用  MSBuild.Microsoft.VisualStudio.Web.targets 即可.

  4. 【noi 2.5_1789】算24(dfs)

    最开始我想的是全排列+枚举符号和括号的方法,但是我自己倒腾了很久还是打不对,只好向他人请教.正解很机智--直接随意将几个数"捆绑"在一起,值存在其中一个数上,其他数标记不可再选,直 ...

  5. Atcoder ABC162 D - RGB Triplets

    传送门:D - RGB Triplets  题意:给你一个只含'R','G','B'的字符串,求有多少个长度为3且每个字符都不相等,并且第一第二和第二第三的区间长度不同的子序列. 题解:统计每个字符各 ...

  6. c语言文件的读取和写入

    文件打开类型: 文件打开输出就用: 1 #include <stdio.h> 2 3 int main() 4 { 5 FILE *fp = NULL; 6 7 fp = fopen(&q ...

  7. div 水平居中 内容居左

    <div style="margin:0 auto;width:500px;text-align:left"> </div> https://zhidao. ...

  8. 【转】K8S中部署Helm

    K8S中的包管理工具 1. 客户端Helm(即Helm)  通过脚本安装:curl https://raw.githubusercontent.com/helm/helm/master/scripts ...

  9. WSL (Windows Subsystem for Linux) 的 VSLAM (Visual Simultaneous Localization and Mapping) 道路

    WSL 的 VSLAM 道路 以 Windows Subsystem for Linux 闯入 Visual Simultaneous Localization and Mapping 世界的艰难道路 ...

  10. string logo(字符画),website,html5,css3,atom ide

    1 <!DOCTYPE html> <!-- Powered by... _ _ ____. ______ ._______. _______ ___ ___ sssssssss \ ...