Java Scanner 类的使用

news/2025/2/9 5:47:09 标签: java, scanner, next, nextline

Java Scanner 类的使用

在笔试编程过程中,关于数据的读取如果迷迷糊糊,那后来的编程即使想法很对,实现很好,也是徒劳,于是在这里认真总结了Java Scanner 类的使用

通过 Scanner 类来获取用户的输入,下面是创建 Scanner 对象的基本语法:
Scanner s = new Scanner(System.in); // 从键盘接收数据
接下来我们演示一个最简单的数据输入,并通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串,在读取前我们一般需要 使用 hasNext 与 hasNextLine 判断是否还有输入的数据:

next() 与 nextLine() 区别

next()的使用方法演示:
import java.util.Scanner;

public class scannertest {

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

}
next方式接收:
hello world
输入的数据为:hello
由结果可知:

1、一定要读取到有效字符后才可以结束输入。
2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
next() 不能得到带有空格的字符串。

nextLine()的使用方法演示:
import java.util.Scanner;
public class scannertest2 {

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

}

nextLine方式接收:
java">hello world 2018
输入的数据为:hello world 2018

由上面可以看出,nextLine()方法具有以下特点:
1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符;
2、可以获得空白,都会读入,空格等均会被识别;

注意:如果要输入 int 或 float 类型的数据,在 Scanner 类中也有支持,但是在输入之前最好先使用 hasNextXxx() 方法进行验证,再使用 nextXxx() 来读取,下面实现的功能是可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果

import java.util.Scanner;
public class scandemo {

 public static void main(String[] args) {
	 	System.out.println("请输入数字:");
        Scanner scan = new Scanner(System.in);
 
        double sum = 0;
        int m = 0;
 
        while (scan.hasNextDouble()) {
            double x = scan.nextDouble();
            m = m + 1;
            sum = sum + x;
        }
        
        System.out.println(m + "个数的和为" + sum);
        System.out.println(m + "个数的平均值是" + (sum / m));
        scan.close();
  }

}

请输入数字:
20.0
30.0
40.0
end
3个数的和为90.0
3个数的平均值是30.0


http://www.niftyadmin.cn/n/1642720.html

相关文章

轻松拿捏Jenkins(Linux)+Java11+Docker自动化打包部署

注:本文由笔者小白亲手实践写作,涵盖较全,创作不易,且行且珍惜!! 历时24小时,包含Jenkins环境构建部署过程中的99%问题,确定不来看一下吗? 文章目录 开篇一、软件包准备J…

【struts2】中关于method={1}的解释

我们在使用struts2的时候,有时候为了简化struts2的配置项而采用通配符的方式,如下代码: 查阅资料之后发现: 此时method{1}中的{1}代表user_*中的*,即加入你访问路径是user_*!save.action,则此刻访问的是该Action中的s…

Collection方法、长度获取方法

Collection.sort 这个方法将列表元素进行升序排序,若要反方向排序,可通过修改compare to实现 java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性.java中的length()方法是针对字符串String说的,如果…

继承、组合、代理

一:继承 继承按现有类创建一个对象,不改变现有类,采用现有类的形式向其中添加新代码;(编译器强制你去初始化基类,是is_a 的关系,比如说Student继承Person,则说明Student is a Person。 继承的…

SSH网上商城项目视频(推荐新手学习)

链接:https://pan.baidu.com/s/1aQxMSNjSF5CAcijX2DGAvg 提取码:5e5n 完整项目源代码如下: https://download.csdn.net/download/jontang/10958444

Jon的Java程序员实习报告

1.实习地点:武汉光谷软件园 2.实习公司:广东亿迅科技有限公司 3.实习时间:2018.12.3-2019.3.8 4.实习总结: 作为一名即将毕业踏入社会的大学生,这次实习就像是上台前的最后一次彩排,当我走进公司时那种…

职业生涯开始了

入职广东亿迅科技有限公司武汉研发基地。加油~

节点

节点的类型: 元素节点、属性节点、文本节点 通常情况下, 操作属性节点直接通过 “元素节点.属性名” 的方式来读写属性值 而不是获取属性节点. 写 JS 代码的位置 2.1 具体位置在哪 2.2 window.onload 事件被触发的时间, 以及如何为该事件赋值一个相应函数 获取获取元素节点 3…