(JAVA)Object类之Scanner
/* 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相关推荐
- Java Object类详解
Object 是 Java 类库中的一个特殊类,也是所有类的父类.也就是说,Java 允许把任何类型的对象赋给 Object 类型的变量.当一个类被定义后,如果没有指定继承的父类,那么默认父类就是 O ...
- java——Object类、Date类、DateFormat类、Calendar类、包装类
Object类 java.lang.Object类是Java语言中的根类,即所有类的父类.它中描述的所有方法子类都可以使用.在对象实例化的时候,最终找的父类就是Object. 如果一个类没有特别指定父 ...
- 重写Java Object类中的equals()方法
Java中的Object类中的equals方法 Object类的equals方法 重写Object类的equals()方法 Person类默认继承了Object类,所以可以使用Object类的equa ...
- Java Object类的各个方法
Java中所有的类都继承自java.lang.Object类,Object类中一共有11个方法: public final native Class<?> getClass();publi ...
- Java Object 类 深入分析
目录 1.类构造器public Object(); 2.private static native void registerNatives(); 3.protected native Object ...
- Java Object类中toString方法的重写
Object类中的tostring方法的: 当我们输出一个对象时,实际是输出的是这个类中的tostring方法,是一个地址值,而不是类中的属性. 一:子类没有重写Object类中的toStrinng方 ...
- java object类_快速上手 Kotlin 开发系列之与 Java 互调 (1)
学习完基础语法之后,我们来学习下 Java 和 Kotlin 互相调用的问题 本节将介绍 Kotlin 与 Java 之间的语法变化 Kotlin 文件中的函数 首先让大家感到非常不适应的一点是,Ko ...
- Java: Object类,System类,StringBuilder类
Object 类 java.lang.Object类是Java语言中的根类(万类之源),即所有类的父类(超类).在对象实例化的时候,最终找的父类就是Object. 如果一个类没有特别指定父类, 那么默 ...
- java Object类及其常用方法
一:类概述 Object类是所有Java类的祖先.每个类都使用 Object 作为超类.所有对象(包括数组)都实现这个类的方法. 在不明确给出超类的情况下,Java会自动把Object作为要定义类的超 ...
- java Object类中的各个方法及其作用
原文链接 一.简介Object类 Object类是所有类的父类,即每个类都直接或简介继承自该类.所以一个Object类型的变量可以引用任何对象,不论是类实例还是数组. 在不明确给出父类的情况下,Jav ...
最新文章
- 详解C#的数学类,Math,浮点数(上)
- java代码如何降低重复率_影响网站跳出率的主要因素及如何降低网站跳出率?...
- Eclipse新建web项目和“javax.servlet.http.HttpServlet“ was not found on the Java Build Path错误
- html js清除缓存,js清除浏览器缓存的几种方法
- OSTU大律法二值化原理
- 颜值实力派—打造MySQL运行监控环境
- Ajax提交数据判断员工编号是否存在,及自动填充与员工编号所对应的员工姓名。...
- building for production...Killed
- H.264参考软件JM12.2RC代码详细流程
- XP-在恢复时返回到欢迎屏幕
- photoshop cs6破解
- java pdf替换文字_java代码用itext 识别PDF中的文字然后替换
- SAP ABAP Loop…Assigning与Loop…Into的比较
- zbrush是什么软件呢?可以用来做什么
- java 第六次实验_操作系统第六次实验报告——使用信号量解决哲学家进餐问题...
- 我的世界服务器注册指令格式,我的世界服务器指令
- 2021年上海第一批高新技术企业上海熙有网络科技集团榜上有名
- DOSBOX运行程序
- 大厂程序员能力修炼手册,从筑基到化神要多久?
- matlab revch,matlab学习1
热门文章
- 玩转oracle 11g(48):oracle命令窗口执行sql语句
- http:(5):http状态码
- firefox android 去更新,Android版Firefox Beta发布更新
- vue事件委托传递节点防止向下传递穿透
- linux查找时间文件,Linux基础教程 linux下使用find命令根据系统时间查找文件用法(示例代码)...
- Centos中查找文件、目录、内容
- IP包的生成和发送接口(1)
- 【2019年07月08日】A股最便宜的股票
- 初入网络系列笔记(6)TFTP协议
- 蛋疼的中文编码及其计算机编码历史