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);//系统退出

        }

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • <&gt(action/joingroup?code=v1)

    Ribbon本身提供了下面几种负载均衡策略:RoundRobinRule:轮询策略,Ribbon以轮询的方式选择服务器,这个是默认值。所以示例中所启动的两个服务会被循环访问;RandomRule:随机选择,也就是说Ribbon会随机从服务器列表中选择一个进行访问;BestAvailableRule:最大可用策略,即先过滤出故障服务器后,选择一个当前并发请求数最小的;WeightedR…

  • Map与JSONObject对象相互转换记录「建议收藏」

    Map与JSONObject对象相互转换记录「建议收藏」业务背景:因为要嵌套一些数据报表,页面点击菜单直接进行url访问,因访问受限要修改url权限,返回数据是JSONObject,防止出现异常,后台进行了一些Map于JSONObject的转换,记录下来配置得json文件格式:{“redashLinks”:[{“name”:”在盈利表”,”url”:”http://i…

  • ViewPager实现画廊效果「建议收藏」

    ViewPager实现画廊效果「建议收藏」开个头关键类publicclassMyPageTransformerimplementsViewPager.PageTransformer{privatestaticfinalfloatMIN_SCALE_X=1.0f;privatestaticfinalfloatMIN_SCALE_Y=0.8f;privatesta…

  • ubuntu vi上下左右键无法使用?

    ubuntu vi上下左右键无法使用?

  • python接口自动化实战(框架)

    python接口自动化实战(框架)    python接口测试的原理,就不解释了,百度一大堆。   先看目录,可能这个框架比较简单,但是麻雀虽小五脏俱全。各个文件夹下的文件如下:一.理清思路   我这个自动化框架要实现什么   1.从excel里面提取测试用例   2.测试报告的输出,并且测试报告得包括执行的测试用例的数量、成功的数量、失败的数量以及哪条成功了,失败的是哪一个,失败的原因是什么;测试结果的总体情况通过图表…

  • Object数组转String数组

    Object数组转String数组1、System.arraycopy把一个数组中某一段字节数据放到另一个数组中//src:源数组;srcPos:源数组要复制的起始位置;dest:目的数组;destPos:目的数组放置的起始位置;length:复制的长度.publicstaticvoidarraycopy(Objectsrc,intsrcPos,Objectdest,intdestPos,intlength)Object[]src={“A”,”B”,”C”};String[]dest=

发表回复

您的电子邮箱地址不会被公开。

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