博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Scanner对象的介绍
阅读量:2167 次
发布时间:2019-05-01

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

Scanner对象


概念

Java提供了一个工具类, 我们可以获取用户的输入. Java.util.Scanner 是Java5的新特征, 我们可以通过Scanner类来获取用户的输入


基本语法

Scanner s = new Scanner (System.in);
  • 通过Scanner类的next() 与nextLine() 方法获取输入的字符串, 在读取前我们一般需要使用hasNext() 与hasNextLine() 判断是否还有输入的数据

  • next和hasNext的使用:

    • next():
      • 一定要读取到有效字符后才可以结束输入
      • 对输入有效字符之前遇到的空白, next() 方法会自动将其去掉
      • 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
      • next() 不能得到带有空白的字符串
package com.Flonx.Practice;import java.util.Scanner;public class Practice {
public static void main(String[] args) {
//create a scanner object , to receive the data from keyboard Scanner scanner = new Scanner (System.in); //out---output, in--input System.out.println("receive content by the way of 'next': "); //judge whether the string is input or not by users if (scanner.hasNext()){
//receive the input by user String str = scanner.next(); System.out.println("the input content is : " + str); } //凡是属于IO流的类如果不关闭会一直占用资源, 要养成好习惯用完就关掉 scanner.close(); }}
  • nextLine() 和hasNextLine() 的使用:
    • nextLine() :
      • 以Enter为结束符, 也就是说, nextLine() 方法返回的是输入回车之前的所有字符
      • 可以获得空白
package com.Flonx.Practice;import java.util.Scanner;public class Practice {
public static void main(String[] args) {
Scanner scanner = new Scanner (System.in); System.out.println("receive content by the way of 'next': "); if (scanner.hasNextLine()){
String str = scanner.nextLine(); System.out.println("the input content is :" + str); } scanner.close(); }}

Scanner 进阶

  • 对hasNextInt(), hasNextFloat() 方法和nextInt(), nextFloat() 方法的使用
package com.Flonx.Practice;import java.util.Scanner;public class Practice {
public static void main(String[] args) {
int i = 0; float f = 1.0F; Scanner scanner = new Scanner(System.in); System.out.println("请输入一个整数: "); if (scanner.hasNextInt()){
i = scanner.nextInt(); System.out.println("整数:" + i); } else{
System.out.println("输入的不是整数"); } System.out.println("请输入一个小数: "); if (scanner.hasNextFloat()){
f = scanner.nextFloat(); System.out.println("小数:"+f); } else{
System.out.println("输入的不是小数"); } scanner.close(); }}/*请输入一个整数: 10整数:10请输入一个小数: 1.1小数:1.1 */
  • 从控制台中读取数据, 求总数和平均数
package com.Flonx.Practice;import java.util.Scanner;public class Practice{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); int count = 0; double sum = 0; System.out.println("请输入数: "); while (scanner.hasNextDouble()){
sum += scanner.nextDouble(); count ++; System.out.println("输入第" + count + "个数字, 总数为:" + sum ); } System.out.println("总数为: "+ sum); System.out.println("平均数为: "+ (sum / count)); scanner.close(); }}

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

你可能感兴趣的文章
Java并发指南4:Java中的锁 Lock和synchronized
查看>>
Java并发指南5:JMM中的final关键字解析
查看>>
Java并发指南6:Java内存模型JMM总结
查看>>
Java并发指南7:JUC的核心类AQS详解
查看>>
Java并发指南8:AQS中的公平锁与非公平锁,Condtion
查看>>
Java网络编程和NIO详解6:Linux epoll实现原理详解
查看>>
Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理
查看>>
Java网络编程与NIO详解8:浅析mmap和Direct Buffer
查看>>
Java网络编程与NIO详解10:深度解读Tomcat中的NIO模型
查看>>
Java网络编程与NIO详解11:Tomcat中的Connector源码分析(NIO)
查看>>
深入理解JVM虚拟机1:JVM内存的结构与消失的永久代
查看>>
深入理解JVM虚拟机3:垃圾回收器详解
查看>>
深入理解JVM虚拟机4:Java class介绍与解析实践
查看>>
深入理解JVM虚拟机5:虚拟机字节码执行引擎
查看>>
深入理解JVM虚拟机6:深入理解JVM类加载机制
查看>>
深入了解JVM虚拟机8:Java的编译期优化与运行期优化
查看>>
深入理解JVM虚拟机9:JVM监控工具与诊断实践
查看>>
深入理解JVM虚拟机10:JVM常用参数以及调优实践
查看>>
深入理解JVM虚拟机11:Java内存异常原理与实践
查看>>
深入理解JVM虚拟机12:JVM性能管理神器VisualVM介绍与实战
查看>>