文档章节

Java Scanner类(读取输入)

墨子冰
 墨子冰
发布于 2016/07/20 00:51
字数 509
阅读 164
收藏 0

Scanner类

Scanner是SDK1.5新增的一个类,可是使用该类创建一个对象.。想要通过控制台进行输入,首先需要构造一个Scanner对象,并与“标准输入流”System.in关联。
Scanner scan = new Scanner(System.in);

Scanner类各种方法的实现

next()与nextLine()读取字符串

next():

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

nextLine():

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

 public static void main(String[] arg){
  Scanner in1=new Scanner(System.in); 
  System.out.println("What is your name?");
  String name1=in1.nextLine();
  System.out.println("你的姓名是"+name1);
  
  Scanner in2=new Scanner(System.in); 
  System.out.println("What is your name?");
  String name2=in2.next();
  System.out.println("你的姓名是"+name2);
 }

结果:

What is your name?
wan ming
你的姓名是wan ming
What is your name?
wan ming
你的姓名是wan

netInt()和nextFloat()读取整数和浮点数及通过hasnextXxx进行判断

  public static void main(String[] args) { 
         Scanner scan = new Scanner(System.in);  
         int i = 0 ; 
         float f = 0.0f ; 
         System.out.print("输入整数:"); 
         if(scan.hasNextInt()){                 // 判断输入的是否是整数 
             i = scan.nextInt() ;               
             System.out.println("整数数据:" + i) ; 
         }else{                                 // 如果输入错误的信息 
             System.out.println("输入的不是整数!") ; 
         } 
         System.out.print("输入小数:"); 
         if(scan.hasNextFloat()){               // 判断输入的是否是小数 
             f = scan.nextFloat() ;            
             System.out.println("小数数据:" + f) ; 
         }else{                                 //如果 输入错误的信息 
             System.out.println("输入的不是小数!") ; 
         } 
     } 

结果:

输入整数:10
整数数据:10
输入小数:10.0
小数数据:10.0

netDouble()读取浮点数及输入多个数字求总和平均数

 public static void main(String[] args)   { 
        Scanner scan = new Scanner(System.in); 
        double sum = 0; 
        int m = 0; 
        while(scan.hasNextDouble())  { 
            double x = scan.nextDouble(); 
            m = m + 1; 
            sum = sum + x; 
        } 
 
        System.out.println(m+"个数的和为"+sum); 
        System.out.println(m+"个数的平均值是"+(sum/m)); 
    } 

结果:

10
12
15
24
25
end
5个数的和为86.0
5个数的平均值是17.2

 

 

 

 

 

 

 

 

© 著作权归作者所有

墨子冰
粉丝 0
博文 2
码字总数 745
作品 0
长沙
程序员
私信 提问
云栖社区专家系列课——Java必修课第二讲

Java必须课是零基础Java学习者的入门课程,涵盖了Java初学者应该掌握的所有核心知识,由最课程创始人、微软MVP陆敏枝主讲。本节课陆老师从概念和代码示例(计算器)两方面着重讲解了Java中变...

迷你芊宝宝
2018/06/26
0
0
关于Java编程基础学习输入输出IO的问题

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互...

Java小辰
2018/05/23
0
0
Java Scanner 类

Java Scanner 类 java.util.Scanner是Java5的新特征,我们可以通过 Scanner 类来获取用户的输入。 下面是创建 Scanner 对象的基本语法: Scanner s = new Scanner(System.in); 接下来我们演示...

architect刘源源
2018/01/26
0
0
Java基础教程,第六讲,格式化输入输出

上一课我们留下一个思考题,StringBuilder效率为什么比String的效率高? 第四讲我们已经说过了,Java中没有内置String类型,而是在Java的类库中提供了一个基类,当直接使用String拼接字符串时...

程序员补给栈
02/08
0
0
JavaSE|标准输入输出流:System.in、System.out

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/darlingwood2013/article/details/85250688 JavaSE|标准输入输出流 System.out System.in System.out 标准输出...

叶晚林
2018/12/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

tomcat 莫名奔溃问题

Apr 24, 2019 6:18:11 PM org.apache.coyote.AbstractProtocol pause INFO: Pausing ProtocolHandler ["http-nio-8080"] Apr 24, 2019 6:18:12 PM org.apache.coyote.AbstractProtocol pause......

mellen
10分钟前
0
0
组件开发规范 class名身份识别

组件需要通过一个组件共有的class来标识这个组件,外部调用的时候,可以通过锁定这个class来方便地改变组件的css样式。 设置方式 .my-checkbox { width: 20px; height: 20px; font-...

Carbenson
18分钟前
0
0
如何在工作中快速成长?致工程师的10个简单技巧

阿里妹导读:阿里有句非常经典的土话,“今天的最好表现,是明天的最低要求。”如何挖掘潜能、发现更好的自己?今天,阿里巴巴高级无线开发专家江建明将认知升级的方法总结出来,帮助你获得快...

阿里云云栖社区
37分钟前
1
0
PHP和Redis实现在高并发下的抢购及秒杀功能

抢购、秒杀是平常很常见的场景,面试的时候面试官也经常会问到,比如问你淘宝中的抢购秒杀是怎么实现的等等。 抢购、秒杀实现很简单,但是有些问题需要解决,主要针对两个问题: 一、高并发对...

xiaogg
39分钟前
1
0
从数据上看:谁才是漫威的绝对C位

复联4上映了!这次比美国还早了两天。当然,我还没看,不会给你们剧透,当然也不想不剧透。 这一部不仅是灭霸这一线剧情的结局,也被认为漫威第三阶段的收官之作。据说此部之后,不少影迷熟知...

crossin
52分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部