java Scanner类的使用示例代码

Scanner类简介

Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。它是以前的StringTokenizer和Matcher类之间的某种结合。由于任何数据都必须通过同一模式的捕获组检索或通过使用一个索引来检索文本的各个部分。于是可以结合使用正则表达式和从输入流中检索特定类型数据项的方法。这样,除了能使用正则表达式之外,Scanner类还可以任意地对字符串和基本类型(如int和double)的数据进行分析。借助于Scanner,可以针对任何要处理的文本内容编写自定义的语法分析器。

为了实现程序与人的交互,java给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner是Java5的新特征。我们可以通过Scanner类来获取用户的输入。

我们使用Scanner scanner = new Scanner(System.in);的基础语法来创建一个扫描对象,用于接收键盘数。

hasnext()与hasnextLine()的使用:

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

当我们使用next方式接收时:

代码示例:

package com.scanner;

import java.util.Scanner;

public class Demo01 {
    public static void main(String[] args) {
        //创建一个扫描对象,用于接受键盘数
        Scanner scanner= new Scanner(System.in);
        System.out.println("使用next方式接收:");

        //判断用户有没有输入字符串
        if(scanner.hasNext()){
            //使用next方式接收
            String str = scanner.next();
            System.out.println("输出的内容为:"+str);
        }
         //凡是属于IO流的类如果不关闭会一直占用资源,关闭scanner
        scanner.close();
    }
}

next()注意点:(String str = scanner.next());

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

当我们使用nextLine()方式接收时:(String str = scanner.nextLine());

代码示例:

package com.scanner;

import java.util.Scanner;

public class Demo02 {
    public static void main(String[] args) {
        //从键盘接收数据
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用nextLine方式接收");

        //判断是否还有输入
        if(scanner.hasNext()){
            String str = scanner.nextLine();
            System.out.println("输出的内容为:"+str);
        }
        scanner.close();
    }
}

nextLine()注意点:

  • 以enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
  • 它可以获得空白。

当输入的数据类型不同时:如

Int型:Scanner.hasNextInt();//判断是否还有数据输入

​ Scanner.nextInt();//输入整数数据

Float型同上。

scanner进阶使用(与循环共同使用)

代码示例:

package com.scanner;

import java.util.Scanner;

public class Demo04 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
     //从键盘接收数据
        int i = 0;
        float f = 0.0f;
        System.out.println("请输入整数:");

        if (scanner.hasNextInt()){           //判断是否还有数据输入;
            i = scanner.nextInt();
            System.out.println("整数数据:"+ i);

        }else{
            System.out.println("输入的不是整数数据!");
        }
        System.out.println("请输入小数:");

        if (scanner.hasNext()){
            f = scanner.nextFloat();//代表为真
            System.out.println("小数数据:"+ f);

        }else{
            System.out.println("输入的不是小数数据!");
        }
        scanner.close();// 凡是属于IO流的类如果不关闭会一直占用资源,关闭scanner
    }
}

到此这篇关于java Scanner类的使用的文章就介绍到这了,更多相关java Scanner类内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 在java中用Scanner类读入单个字符的方法

    Scanner没有直接读入单个字符的方法,next方法没办法读入空格符,因为Scanner以空格符作为输入完毕的标志 import java.util.Scanner; Scanner in = new Scanner(System.in); String s = in.nextLine(); char[] chars = s.toArray(); char c = chars[0]; //c就是读入的单个字符 以上这篇在java中用Scanner类读入单个字符的方法就是小编分享给大家的全部内容

  • Java中Scanner类与BufferReader类的不同点(非常详细)

    java.util.Scanner类是一个简单的文本扫描类,它可以解析基本数据类型和字符串.它本质上是使用正则表达式去读取不同的数据类型. Java.io.BufferedReader类为了能够高效的读取字符序列,从字符输入流和字符缓冲区读取文本. 下面是两个类的不同之处: 当nextLine()被用在nextXXX()之后,用Scanner类有什么问题 尝试去猜测下面代码的输出内容: // Code using Scanner Class import java.util.Scanner; c

  • Java Scanner类用法及nextLine()产生的换行符问题实例分析

    本文实例讲述了Java Scanner类用法及nextLine()产生的换行符问题.分享给大家供大家参考,具体如下: 分析理解:Scanner sc = new Scanner(System.in); package cn.itcast_01; /* * Scanner:用于接收键盘录入数据. * * 前面的时候: * A:导包 * B:创建对象 * C:调用方法 * * 分析理解:Scanner sc = new Scanner(System.in); * System类下有一个静态的字段:

  • java中Scanner类的简单用法分享

    复制代码 代码如下: public static void main(String[] args) {     System.out.println("请输入值,以回车结束:");     Scanner sc = new Scanner(System.in);     sc.useDelimiter("\n");     while (sc.hasNext()) {         String s = sc.next();         System.out.

  • java编程scanner类用法示例

    在Eclipse中编写程序时,如果我们的变量是需要手动输入的时候,我们就可以用到scanner类了. Scanner类,这是一个用于扫描输入文本的新的实用程序.由于任何数据都必须通过同一模式的捕获组检索或通过使用一个索引来检索文本的各个部分.于是可以结合使用正则表达式和从输入流中检索特定类型数据项的方法.这样,除了能使用正则表达式之外,Scanner类还可以任意地对字符串和基本类型(如int和double)的数据进行分析.借助于Scanner,可以针对任何要处理的文本内容编写自定义的语法分析器.

  • java Scanner类的使用示例代码

    Scanner类简介 Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序.它是以前的StringTokenizer和Matcher类之间的某种结合.由于任何数据都必须通过同一模式的捕获组检索或通过使用一个索引来检索文本的各个部分.于是可以结合使用正则表达式和从输入流中检索特定类型数据项的方法.这样,除了能使用正则表达式之外,Scanner类还可以任意地对字符串和基本类型(如int和double)的数据进行分析.借助于Scanner,可以针对任何要处理的

  • Java Scanner类的使用示例

    1 Scanner的使用 JDK给我们提供了成千上万个类供我们直接使用,而Scanner就是这众多类里的一个最常用的一个类,既然它是一个类,我们使用它的方法和使用我们自己写的类的方法基本一致. 方法基本如下: 1.导包:就是指出需要使用的类在哪一个位置,格式一般为import 包名称.类名称,Scanner导包语句便为import java.util.Scanner对于和当前类属于同一个包的时候,导包语句可以不写,JDK里提供的类仅仅只有java.lang下的类不需要导包. 2.创建:按照格式创

  • Java常用工具类汇总 附示例代码

    一.FileUtils private static void fileUtilsTest() { try { //读取文件内容 String readFileToString = FileUtils.readFileToString(new File("D:\\guor\\data\\test20211022000000.txt")); System.out.println(readFileToString); //删除文件夹 FileUtils.deleteDirectory(ne

  • Java实现文件检索系统的示例代码

    示例代码 package Demo; import java.io.File; import java.io.FilenameFilter; import java.util.Scanner; import java.lang.Exception; import java.io.IOException; public class Demo8_1 { public static void main(String[] args) { while(true) { System.out.println(

  • Java的静态类型检查示例代码详解

    关于静态类型检查和动态类型检查的解释: 静态类型检查:基于程序的源代码来验证类型安全的过程: 动态类型检查:在程序运行期间验证类型安全的过程: Java使用静态类型检查在编译期间分析程序,确保没有类型错误.基本的思想是不要让类型错误在运行期间发生. 在各色各样的编程语言中,总共存在着两个类型检查机制:静态类型检查和动态类型检查. 静态类型检查是指通过对应用程序的源码进行分析,在编译期间就保证程序的类型安全. 动态类型检查是在程序的运行过程中,验证程序的类型安全.在Java中,编译期间使用静态类型

  • Java随机生成身份证完整示例代码

    身份证算法实现 1.号码的结构 公民身份号码是特征组合码, 由十七位数字本体码和一位校验码组成. 排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码  三位数字顺序码和一位数字校验码. 2.地址码(前六位数) 表示编码对象常住户口所在县(市.旗.区)的行政区划代码,按GB/T2260的规定执行. 3.出生日期码(第七位至十四位) 表示编码对象出生的年.月.日,按GB/T7408的规定执行,年.月.日代码之间不用分隔符. 4.顺序码(第十五位至十七位) 表示在同一地址码所标识的区域范围内,

  • 浅析Java Scanner 类的用法

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

  • 在Java中操作Zookeeper的示例代码详解

    依赖 <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.6.0</version> </dependency> 连接到zkServer //连接字符串,zkServer的ip.port,如果是集群逗号分隔 String connectStr = "192.

  • Java 静态数据初始化的示例代码

    无论创建多少个对象,静态数据都只占用一份存储区域.static关键字不能应用于局部变量,因此它只能作用于域.如果一个域是静态的基本类型域,且也没有对它进行初始化,那么它就会获得基本类型的标准初始值:如果它是一个对象引用,那么它的默认初始值就是null class Bowl { public Bowl(int marker) { System.out.println("Bowl(" + marker + ")"); } void f1(int marker) { Sy

  • JAVA实现红包分发的示例代码

    大体思路 如果发总金额为 m mm 的 n nn 个红包,先用一个长度为 n nn 的临时数组 a aa 存放 n nn 个随机双精度小数 ,然后用 s u m sumsum 表示数组 a aa 的和,每个红包的金额 代码 import java.util.Arrays; import java.util.Random; import java.math.*; import java.util.Scanner; public class Main { public static long now

随机推荐