文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

java Scanner类的使用示例代码

2024-04-02 19:55

关注

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());

当我们使用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()注意点:

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

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类内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯