/*
Scanner类:使用正则表达式解析基本类型和字符串的简单文本扫描器
一.源代码:public final class Scanner implements Iterator<String>, Closeable {...}1.不允许继承2.使用时必须导入包 import java.util.Scanner; jdk1.5以上版本才有3.Scanner类构造器,使用的是重载  public Scanner(InputStream source) { this(new InputStreamReader(source), WHITESPACE_PATTERN); }
二. 使用的成员方法1.接收录入的整形数据:public int nextInt() { return nextInt(defaultRadix); }/**源码:* Scans the next token of the input as an <tt>int</tt>.* This method will throw <code>InputMismatchException</code>* if the next token cannot be translated into a valid int value as* described below. If the translation is successful, the scanner advances* past the input that matched.** <p> If the next token matches the <a* href="#Integer-regex"><i>Integer</i></a> regular expression defined* above then the token is converted into an <tt>int</tt> value as if by* removing all locale specific prefixes, group separators, and locale* specific suffixes, then mapping non-ASCII digits into ASCII* digits via {@link Character#digit Character.digit}, prepending a* negative sign (-) if the locale specific negative prefixes and suffixes* were present, and passing the resulting string to* {@link Integer#parseInt(String, int) Integer.parseInt} with the* specified radix.** @param radix the radix used to interpret the token as an int value* @return the <tt>int</tt> scanned from the input* @throws InputMismatchException*         if the next token does not match the <i>Integer</i>*         regular expression, or is out of range* @throws NoSuchElementException if input is exhausted* @throws IllegalStateException if this scanner is closed2.接收录入的字符串:  注意nextLine()与next()的区别public String nextLine() {if (hasNextPattern == linePattern())return getCachedResult();clearCaches();String result = findWithinHorizon(linePattern, 0);if (result == null)throw new NoSuchElementException("No line found");MatchResult mr = this.match();String lineSep = mr.group(1);if (lineSep != null)result = result.substring(0, result.length() - lineSep.length());if (result == null)throw new NoSuchElementException();elsereturn result;3.其他类型:nextBoolean()nextByte()nextDouble()nextFloat()4.boolean hasNextXXX():返回的是boolean类型,用来判断输入的类型,避免发生异常5.注意细节:先调用字符串类后调用整数类-------正常运行先调用整数类后调用字符串类-------无法录入字符串原因:整数类型后默认换行符 :  /n/t例如:输入123之后换行---------实际输入的是:123/n/tString接收的是/n/t,所以不会运行到录入字符串解决办法:1.重新创建Scanner对象2.使用对象包装类----Integer类parseInt()---将字符串转为整数类型【后续更新】

package com.Scanner.Dome;import java.util.Scanner;
public class ScannerDome {public static void main(String[] args){Scanner sc = new Scanner(System.in);int x = sc.nextInt();System.out.println(x);Scanner m = new Scanner(System.in);String a = m.nextLine();System.out.println(a);Scanner p = new Scanner(System.in);String b = p.next(); //b = "abc ef"System.out.println(b); // b = "abc",next()以空格为切割点,空格后不输出}}

nextLine()与next()的运行结果:

4.接收录入对象不对时抛出异常

判断接收对象是否符合预期:

5.先调用字符串方法,后调用整数方法

先调用整数方法,后调用字符串

输入123之后换行---------实际输入的是:123/n/t,String接收的是:/n/t,因此不展示

解决办法:

(JAVA)Object类之Scanner相关推荐

  1. Java Object类详解

    Object 是 Java 类库中的一个特殊类,也是所有类的父类.也就是说,Java 允许把任何类型的对象赋给 Object 类型的变量.当一个类被定义后,如果没有指定继承的父类,那么默认父类就是 O ...

  2. java——Object类、Date类、DateFormat类、Calendar类、包装类

    Object类 java.lang.Object类是Java语言中的根类,即所有类的父类.它中描述的所有方法子类都可以使用.在对象实例化的时候,最终找的父类就是Object. 如果一个类没有特别指定父 ...

  3. 重写Java Object类中的equals()方法

    Java中的Object类中的equals方法 Object类的equals方法 重写Object类的equals()方法 Person类默认继承了Object类,所以可以使用Object类的equa ...

  4. Java Object类的各个方法

    Java中所有的类都继承自java.lang.Object类,Object类中一共有11个方法: public final native Class<?> getClass();publi ...

  5. Java Object 类 深入分析

    目录 1.类构造器public Object(); 2.private static native void registerNatives(); 3.protected native Object ...

  6. Java Object类中toString方法的重写

    Object类中的tostring方法的: 当我们输出一个对象时,实际是输出的是这个类中的tostring方法,是一个地址值,而不是类中的属性. 一:子类没有重写Object类中的toStrinng方 ...

  7. java object类_快速上手 Kotlin 开发系列之与 Java 互调 (1)

    学习完基础语法之后,我们来学习下 Java 和 Kotlin 互相调用的问题 本节将介绍 Kotlin 与 Java 之间的语法变化 Kotlin 文件中的函数 首先让大家感到非常不适应的一点是,Ko ...

  8. Java: Object类,System类,StringBuilder类

    Object 类 java.lang.Object类是Java语言中的根类(万类之源),即所有类的父类(超类).在对象实例化的时候,最终找的父类就是Object. 如果一个类没有特别指定父类, 那么默 ...

  9. java Object类及其常用方法

    一:类概述 Object类是所有Java类的祖先.每个类都使用 Object 作为超类.所有对象(包括数组)都实现这个类的方法. 在不明确给出超类的情况下,Java会自动把Object作为要定义类的超 ...

  10. java Object类中的各个方法及其作用

    原文链接 一.简介Object类 Object类是所有类的父类,即每个类都直接或简介继承自该类.所以一个Object类型的变量可以引用任何对象,不论是类实例还是数组. 在不明确给出父类的情况下,Jav ...

最新文章

  1. 详解C#的数学类,Math,浮点数(上)
  2. java代码如何降低重复率_影响网站跳出率的主要因素及如何降低网站跳出率?...
  3. Eclipse新建web项目和“javax.servlet.http.HttpServlet“ was not found on the Java Build Path错误
  4. html js清除缓存,js清除浏览器缓存的几种方法
  5. OSTU大律法二值化原理
  6. 颜值实力派—打造MySQL运行监控环境
  7. Ajax提交数据判断员工编号是否存在,及自动填充与员工编号所对应的员工姓名。...
  8. building for production...Killed
  9. H.264参考软件JM12.2RC代码详细流程
  10. XP-在恢复时返回到欢迎屏幕
  11. photoshop cs6破解
  12. java pdf替换文字_java代码用itext 识别PDF中的文字然后替换
  13. SAP ABAP Loop…Assigning与Loop…Into的比较
  14. zbrush是什么软件呢?可以用来做什么
  15. java 第六次实验_操作系统第六次实验报告——使用信号量解决哲学家进餐问题...
  16. 我的世界服务器注册指令格式,我的世界服务器指令
  17. 2021年上海第一批高新技术企业上海熙有网络科技集团榜上有名
  18. DOSBOX运行程序
  19. 大厂程序员能力修炼手册,从筑基到化神要多久?
  20. matlab revch,matlab学习1

热门文章

  1. 玩转oracle 11g(48):oracle命令窗口执行sql语句
  2. http:(5):http状态码
  3. firefox android 去更新,Android版Firefox Beta发布更新
  4. vue事件委托传递节点防止向下传递穿透
  5. linux查找时间文件,Linux基础教程 linux下使用find命令根据系统时间查找文件用法(示例代码)...
  6. Centos中查找文件、目录、内容
  7. IP包的生成和发送接口(1)
  8. 【2019年07月08日】A股最便宜的股票
  9. 初入网络系列笔记(6)TFTP协议
  10. 蛋疼的中文编码及其计算机编码历史