Java快读

java的快读

(1)BufferedReader

    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));//定义对象
    String[] strings = br.readLine().split(" ");//读取一行字符串,以空格为分隔转化为字符串数组
    int n = Integer.parseInt(strings[0]);//读取整数,字符串转化为Integer类型数字
    long m = Long.parseLong(strings[1]); //读取整数,字符串转化为Long类型数字
    System.out.println(n + " "+m);
    strings = br.readLine().split(" ");
    System.out.println(strings[0]);//读取字符串

(2)StreamTokenizer

该类的使用较为麻烦,可以封装为一个对象,减低代码量。他比BufferedReader快,但是对于读取字符类型的操作,只能读取26字母,特殊符号和数字无法读取,有其局限性。

public class Main{
	static class Read{
		StreamTokenizer st = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
		public int nextInt() throws Exception{
			st.nextToken();
			return (int)st.nval;
		}
        public String readLine() throws Exception{	//有局限,慎用
		st.nextToken();
		return st.sval;
	}
	}
public static void main(String[] args) throws Exception {
    Read read = new Read();
    int n = read.nextInt();
    System.out.println(n);
}
}

StreamTokenizer常见错误

(1)StreamTokenizer读入long类型的数字时会出现错误,因为nval的类型是double,在转换为long类型的过程中,由于double的精度问题,当long类型读入太大的数字时会出错。double类型能表示的数字范围比long大,但是是以牺牲精度的方式获得更大的存储,而他能精确保存的数字位数为十进制的15或16位,要比long小。

public class 快读{
	static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
	static PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
	static StreamTokenizer sr = new StreamTokenizer(in);
	static long ans = 0;
	public static void main(String[] args) throws IOException {
		long n = nextLong();
		System.out.println(n);
	}
	static long nextLong() throws IOException {
		sr.nextToken();
		System.out.println(sr.nval);
		return (long) sr.nval;
	}
}

在这里插入图片描述

由图可以看见,double类型在存储时,牺牲了精度,导致结果不准确。

(2)StreamTokenizer读入太长的字符串时也会有问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/423863.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

NUC980 Linux(4.4.289)内核配置SD卡相关参数,设备启动后插入后SD卡没反应

现象:SD卡插入,设备识别不到 原因:1.内核配置问题;2.硬件没有接地; 解决: 1.内核配置 2.硬件上SD卡接地

Java面试——Redis

优质博文:IT-BLOG-CN 一、Redis 为什么那么快 【1】完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。数据存在内存中。 【2】数据结构简单,对数据操作也简单,Redis中的数据结构是专门进行设计的。 【3】采用单线…

IEEE754标准的c语言阐述,以及几个浮点数常量

很多年前,调研过浮点数与整数之间的双射问题: win7 intel x64 cpu vs2013 c语言浮点数精度失真问题 最近重新学习了一下IEEE754标准,也许实际还有很多深刻问题没有被揭示。 计算机程序设计艺术,据说这本书中也有讨论。 参考&…

双周回顾#007 - 前端与后端

前端的问题不是难,而是它面对最终用户。只要用户的喜好和口味发生变化,前端就必须跟上。 这导致前端不得不快速变化,因为用户的口味正在越来越快地改变。 后端不需要面对最终用户,需要解决的都是一些经典的计算机科学问题&#…

8、Redis-Jedis、Lettuce和一个Demo

目录 一、Jedis 二、Lettuce 三、一个Demo Java集成Redis主要有3个方案:Jedis、Lettuce和Redisson。 其中,Jedis、Lettuce侧重于单例Redis,而Redisson侧重于分布式服务。 项目资源在文末 一、Jedis 1、创建SpringBoot项目 2、引入依赖 …

114.龙芯2k1000-pmon(13)- 串口如何用

本文是讲原理图的部分,跟pmon的关系不大!! 参考手册:《龙芯2K1000处理器用户手册.pdf》 刚刚看数据手册,让我是有点惊讶,但是也让我迷惑。(一个串口复用为4个是啥意思?)…

MYSQL的优化学习,从原理到索引,在到事务和锁机制,最后的主从复制、读写分离和分库分表

mysql的优化学习 为什么选择Mysql不选择其他的数据库?还有哪些,有什么区别? Mysql:开源免费版本可用,适用于中小型应用 Oracle:适用于大型企业级应用,复杂的业务场景和大量数据的处理&#xf…

ctf_show笔记篇(web入门---命令执行)

目录 命令执行 29:有很多种方法可以使用内联法例如system(cat ls)或者像它提示的一样echo nl fl""ag.php 30:这里与29题原理相同只不过多禁用了一个system和php####请通过29题举一反三 31:这一题有多种解法看自身理解&#xff0…

关于阿里云oss的冗余存储类型问题

不得不说一个问题,阿里云服务方便我们的同时 ,他们的文档写的是真的差劲。 东一块,西一块的。非常不好系统的阅读,文档结构比较散。 关于阿里云oss的冗余存储类型问题,这里说一下,简直是个坑。 首页阿里…

基于springboot+vue的在线考试与学习交流平台

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

【C语言】熟悉文件基础知识

欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 文件 为了数据持久化保存,使用文件,否则数据存储在内存中,程序退出,内存回收,数据就会丢失。 程序设计中&…

【UEFI实战】BIOS中的openssl

BIOS中的openssl openssl是一个密码库或者密码工具,在密码学基础_hex string is too short, padding with zero bytes t-CSDN博客介绍了基本的密码学概念已经openssl工具的使用,而这里将介绍BIOS下如何使用openssl。 在开源的BIOS代码库EDK中包含一个C…

【接口测试】常见HTTP面试题

目录 HTTP GET 和 POST 的区别 GET 和 POST 方法都是安全和幂等的吗 接口幂等实现方式 说说 post 请求的几种参数格式是什么样的? HTTP特性 HTTP(1.1) 的优点有哪些? HTTP(1.1) 的缺点有哪些&#x…

车灯修复UV胶的优缺点有哪些?

车灯修复UV胶的优点如下: 优点: 快速固化:通过紫外光照射,UV胶可以在5-15秒内迅速固化,提高了修复效率。高度透明:固化后透光率高,几乎与原始车灯材料无法区分,修复后车灯外观更加…

web漏洞与规避

文章目录 一、XSS 跨站脚本攻击1.1 XSS攻击的主要类型反射型XSS存储型XSSDOM型XSS 1.2 前端开发如何应对XSS 二、CSRF 跨站请求伪造2.1 CSRF例子2.2 前端开发如何应对CSRF 三、SQL 注入3.1 前端如何防御SQL注入 四、前端如何使用CSP 一、XSS 跨站脚本攻击 攻击者通过在受害者的…

基于springboot+vue的装饰工程管理系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

重学Springboot3-@ConditionalOnXxx条件注解

重学Springboot3-ConditionalOnXxx条件注解 引言常见的条件注解常见的条件注解示例扩展条件注解1. ConditionalOnJndi2. ConditionalOnJava3. ConditionalOnCloudPlatform4. ConditionalOnEnabledResourceChain5. 自定义条件注解 总结 引言 Spring Boot 提供了一组强大的条件注…

AutoEncoder和 Denoising AutoEncoder学习笔记

参考: 【1】 https://lilianweng.github.io/posts/2018-08-12-vae/ 写在前面: 只是直觉上的认识,并没有数学推导。后面会写一篇(抄)大一统文章(概率角度理解为什么AE要选择MSE Loss) TOC 1 Au…

Python解释器及PyCharm安装教程

PyCharm官方下载地址☞https://www.jetbrains.com/pycharm/download/?sectionwindows Python解释器官方下载地址☞ https://www.python.org/downloads/windows/

实践航拍小目标检测,基于YOLOv8全系列【n/s/m/l/x】参数模型开发构建无人机航拍场景下的小目标检测识别分析系统

关于无人机相关的场景在我们之前的博文也有一些比较早期的实践,感兴趣的话可以自行移步阅读即可: 《deepLabV3Plus实现无人机航拍目标分割识别系统》 《基于目标检测的无人机航拍场景下小目标检测实践》 《助力环保河道水质监测,基于yolov…