java输入Scanner基本用法[通俗易懂]

java输入Scanner基本用法[通俗易懂]1.基本介绍java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入,每个next获取输入对应的字符。Scannersc=newScanner(System.in);当我们通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext与hasNextLine判断是否还有输入的数据:next()–>hasNext() nextLine()–…

大家好,又见面了,我是你们的朋友全栈君。

1.基本介绍

java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入,每个next获取输入对应的字符。

Scanner sc = new Scanner(System.in);

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

  • next() –>hasNext()
  • nextLine() —->hasNextLine()

2.使用举例 

hasNext和next测试

public static  void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入:");
        if (scanner.hasNext())
            System.out.println("输出:"+scanner.next());
        scanner.close();
    }
请输入:
测试一下   哈哈
输出:测试一下

hasNextLine和nextLine

public static  void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入:");
        if (scanner.hasNextLine())
            System.out.println("输出:"+scanner.nextLine());
        scanner.close();
    }
请输入:
测试一下   哈哈哈
输出:测试一下   哈哈哈

两者比较:

很明显,从结果来看,next获取下一个字符串,输入间隔为空格或回车时阶段,而nextLine则是获取一行数据。

next():

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

nextLine():

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

3.常用方式

scanner.nextLine().trim();//去掉输入两端的空格
String[] arrStr = scanner.nextLine().trim().split(" ");//将输入的一行按照空格拆分为数组


while (scanner.hasNextLine()){
            int len = Integer.parseInt(scanner.nextLine().trim());
            int[] arrInt = new int[len];
            String[] contentStr = scanner.nextLine().trim().split(" ");
            int i =0;
            for (String content:contentStr){
                arrInt[i++] = Integer.parseInt(content);
            }
    System.exit(0);
}

其他的获取输入方式:

hasNext()—-next()

hasNextInt()—-nextInt()

hasNextBoolean—-nextBoolean()

hasNextByte()—-nextByte()

hasNextShort()—-nextShort()

hasNextInt()—-nextInt()

hasNextLong()—-nextLong()

hasNextFloat()—-nextFloat()

hasNextDouble()—-nextDouble()

hasNextBigInteger()—-nextBigInteger()

hasNextBigDecimal()—-nextBigDecimal()

4.while循环输入scanner如何退出?

以下三种退出方式:

while (!scanner.hasNext("0") ){
//标志位退出
}
  while (scanner.hasNextLine() ){
//            代码段
            if(scanner.hasNext("0"))//内部标志退出
                break;
        }
  while (scanner.hasNextLine() ){
        //    代码段
           System.exit(0);//系统退出

        }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156448.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月7日 上午8:00
下一篇 2022年7月7日 上午8:16


相关推荐

  • mybatis配置文件位置

    mybatis配置文件位置目录配置文件在resource/mapper文件下项目结构配置文件在java/**/mapper/xml文件夹下项目结构配置总结配置文件在resource/mapper文件下优点:配置文件在resource文件夹下,类文件在Java文件夹下,结构清晰项目结构##配置1、properties文件#配置扫描mybatis.mapper-locations=classpath:mapper/**.xml2、启动类@MapperScan(value=”top.jiug.sa.mapp

    2025年6月29日
    5
  • 使用回溯法解0/1背包问题n=3,c=9_背包问题C语言算法

    使用回溯法解0/1背包问题n=3,c=9_背包问题C语言算法解01背包问题有很多种方法,就我知道的就有动态规划,回溯法,分支界限法这几种,下面就列出我的回溯法解法,以供参考intcapacity;//背包容量intn;//物品数intweight[0..n];//物品重量数组intprice[0..n];//物品价值数组intcur_weight;//当前重量intcur_price;//当前价值int…

    2022年10月21日
    5
  • 时间序列大数据平台建设经验谈

    时间序列大数据平台建设经验谈版权声明:本文由本人撰写并发表于2018年1月刊的《程序员》杂志,本文版权归《程序员》杂志所有,未经许可不得转载。引言在大数据的生态系统里,时间序列数据(TimeSeriesData,简称TSD)是很常见也是所占比例最大的一类数据,几乎出现在科学和工程的各个领域,一些常见的时间序列数据有:描述服务器运行状况的Metrics数据、各种IoT系统的终端数据、脑电图、汇率、股价、气象和天

    2022年6月11日
    32
  • easyui textbox 密码框的prompt提示语显示*号问题的解决办法

    easyui textbox 密码框的prompt提示语显示*号问题的解决办法easyuitextbox密码框的prompt提示语显示*号问题的解决办法

    2022年7月25日
    23
  • java后端开发需要什么_从事Java后端开发,要学习哪些知识和技能?[通俗易懂]

    java后端开发需要什么_从事Java后端开发,要学习哪些知识和技能?[通俗易懂]很多小伙伴想转行做Java的后端,但是又不知道到底该学习些什么。今天就跟你们聊聊做Java的后端,需要学习和了解什么?1、首先要明确后端包括哪些职业DBA(数据库维护优化专家)Developer(程序猿)Architect(构架师)Scrummaster及类似(敏捷开发专家)ProjectManager(产品狗)Maintenance&ITsupport(通讯和服务器相关)当然这只是一个大…

    2022年7月7日
    23
  • 扣子(Coze)变现之AI智能体插件开发指南

    扣子(Coze)变现之AI智能体插件开发指南

    2026年3月12日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号