Java Scanner类

来源:互联网 发布:pc防蓝光软件 编辑:程序博客网 时间:2024/05/18 03:55

可以通过Scanner类来获取用户的输入。
下面是创建 Scanner 对象的基本语法:

Scanner s = new Scanner(System.in);

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

import java.util.Scanner; public class ScannerDemo {      public static void main(String[] args) {          Scanner scan = new Scanner(System.in);     // 从键盘接收数据      //next方式接收字符串        System.out.println("next方式接收:");        // 判断是否还有输入        if(scan.hasNext()){             String str1 = scan.next();          System.out.println("输入的数据为:"+str1);          }      }  }

输出结果
next方式接收:
runoob com
输入的数据为:runoob

可以看到 com 字符串并未输出,接下来我们看 nextLine。

import java.util.Scanner; public class ScannerDemo {      public static void main(String[] args) {          Scanner scan = new Scanner(System.in);     // 从键盘接收数据      //nextLine方式接收字符串        System.out.println("nextLine方式接收:");        // 判断是否还有输入        if(scan.hasNextLine()){             String str2 = scan.nextLine();          System.out.println("输入的数据为:"+str2);          }      }  }

输出结果:

nextLine方式接收:
runoob com
输入的数据为:runoob com

next() 与 nextLine() 区别
next():
1、一定要读取到有效字符后才可以结束输入。
2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
next() 不能得到带有空格的字符串。
nextLine():
1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
2、可以获得空白。

如果要输入 int 或 float 类型的数据,在 Scanner 类中也有支持,但是在输入之前最好先使用 hasNextXxx() 方法进行验证。

mport java.util.Scanner;  public class ScannerDemo {      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("输入的不是小数!") ;          }      }  }
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 魅蓝5s充电器死机了怎么办 苹果手机乐动力不计步数怎么办 意大利居留按手印时间过了怎么办 酷派t1手机解析包出现问题怎么办 p新买的手机壳有味怎么办 门锁钥匙口竖着钥匙放不进去怎么办 摩拜单车被别人骑走了怎么办 捡到苹果8p手机怎么办才能自己用 用力按压导致玻尿酸变形移位怎么办 华为麦芒5应用锁密码忘了怎么办 华为麦芒6应用锁密码忘了怎么办 华为手机的设置不在桌面了怎么办 华为手机所有应用都不在桌面怎么办 华为麦芒5设置页面不显示怎么办 华为麦芒5主屏页面不显示怎么办 6s p换屏幕原装太贵怎么办 4g手机开不开机黑屏怎么办 华为麦芒5 4g信号差怎么办 华为麦芒手机锁屏密码忘了怎么办 华为麦芒5相机拍相片倒了怎么办 红米5a开不了机怎么办 华为沾了海水打不开机怎么办 华为麦芒手机忘记锁屏密码怎么办 华为手机的方框键摁不了怎么办 笔记本自动更新到一半太慢了怎么办 华为麦芒5音量下键乱跑了怎么办 麦芒6手机QQ视频没声音怎么办 18:9看16:9黑边怎么办 华为畅享7s声音小怎么办 华为畅享8手机声音小怎么办 华为畅享8plus声音小怎么办 荣耀7x锁屏密码忘记怎么办 华为荣耀7x锁屏密码忘记了怎么办 苹果耳机进水后声音变了怎么办 华为荣耀开了数据用不了怎么办 华为手机高德地图信号弱怎么办? 手机QQ浏览器看视频有广告怎么办 手机显示网络连接但不可上网怎么办 华为手机关机后开不了机怎么办 华为畅享8p相机拍照模糊怎么办 手机触屏不准怎么办荣耀青春版九