java算法竞赛必备之快读快写(超详细解读)

java写算法的缺点:速度慢、读写复杂、莫名WA(错误答案)、TL(超时)、CL(超内存)…

(那我们还学个啥啊,都转c++写算法不香嘛。)别急别急,有缺点不就有优点嘛。

香不香咱不知道。但是玩c++的咱都惹不起。大佬太多,太卷了啊。

所以java优势就体现出来啊。

java写算法的优点:人少比赛好拿奖,java作为老牌语言在web和安卓领域还是爸爸级的存在所以用java写算法也可以为以后开发做准备啊。。。

废话不多说了,快读快写直接上。

StreamTokenizer st = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));//快读
PrintWriter pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));//快写

使用方法:这里推荐一个超级方便的使用方法,直接写一个读类

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;}
}

下面演示一下这个读类的使用

package demo;import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.StreamTokenizer;public class Main {public static void main(String[] args) throws Exception {PrintWriter p = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));Read r = new Read();int a = r.nextInt();String str1 = r.readLine();int b =r.nextInt();String str2 = r.readLine();System.out.println(a+str1+b+str2);}
}
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;}
}

输入

32
adfa
23
AAA

输出

32adfa23AAA55

由输入输出知道,值都是读进来的。

注意

我们在使用StreamTokenizer时一般只用来处理数字的输入,对于字符串不使用上面的st.sval即上面的readLine()方法,因为st.sval只会读取字母,对于特殊符号和数字不会读取,读入的会是null。

所以如果我们遇到读字符串的还是老老实实的使用BufferedReader。

BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
bf.readLine();

好了,看完这篇文章后你可以忘记Scanner了。我这里就不举例子来对比Scanner,BufferedReader,StreamTokenizer他们三个的读入时间,你只要记住BufferedReader和StreamTokenizer是远远比Scanner速度快的。所以咱就忘了他吧。我知道你可能不舍得。但这是我们进步的象征。

java算法竞赛必备之快读快写(超详细解读)相关推荐

  1. acm竞赛技巧——c/c++ /java 快读快写(整数,字符串)

    文章目录 整数 快读 快写 字符串 读入 读出 java快读快输 注意: 本文参考博客 整数 这里用int做示范,long long,__int128 改下变量类型即可 快读 inline int r ...

  2. Java的快读快输出

    众所周知,Java Scanner类的读入的真的真的慢 在我们使用Scanner类进行读入数据时,数据一旦过万,他就会显得非常慢 而用StreamTokenizer类差不多好像是要比Scanner快个 ...

  3. java快读快输模板

    java 快读快输 快读: class InputReader {BufferedReader buf;StringTokenizer tok;InputReader() {buf = new Buf ...

  4. 笔试中题目的时间复杂度以及快读快写介绍

       本篇主要分享下近期笔试中, 关于时间复杂度得一些经验. 1.题目格式以及快读快写    目前比较流行的题目格式大致有两种, 一种是核心代码格式(以力扣为主), 另一种是ACM格式(NOIP为主) ...

  5. 【C++快读快输详解(快速读入数字,快速输出数字)】

    众所周知,C++自带读入(废话),如 int a; cin>>a; 这个读入简单方便,但到后面,读的东西多了,读的也就显得慢些,所以有了下面的方式 int a; scanf("% ...

  6. 快读快写:读入输出优化

    引入 初学OIOIOI的时候,只用的cin/coutcin/coutcin/cout,后来教练说,cincincin很慢,有的数组光读入就超时了--balabalabalabalabalabala,所 ...

  7. 快读快写和fread,fwrite--zhengjun

    首先,先谈谈快读快写 这是我一开始的输入输出 cin>>a; cout<<a; 然后,因为在一次模拟赛中cincincin被卡掉了,于是,我就改用 scanf("%d ...

  8. C++ 快读快输模板

    C++快读快输模板 [快读] inline int read() {int X=0; bool flag=1; char ch=getchar();while(ch<'0'||ch>'9' ...

  9. java算法竞赛:快速读入输出

    我们在使用java写算法题时,常常会因为超时而苦恼,明明是和C++一样的思路,甚至代码实现都极为相似,但是却比它慢上一大截,这时候不妨试试IO流读入输出数据,提升速度. 参考文章 Java写算法题中那 ...

最新文章

  1. 实战Solaris 10
  2. Android的手势交互
  3. Radar Installation
  4. 【AI视野·今日NLP 自然语言处理论文速览 第二十期】Thu, 8 Jul 2021
  5. 连接svn认证失败有那些原因_SVN下载安装及使用教程(一)
  6. 微信小程序开发的坑---新建页面or修改app.json
  7. 电脑分辨率设置工具_打印不求人:我猜你并不会设置“分辨率”!
  8. Julia :PyPlot的plot_date
  9. 2021年中国直播电商投融资情况及行业发展中存在的问题、发展趋势和对策分析[图]
  10. cocos2d-x 学习笔记——瓦片地图TiledMap
  11. HID、SCSI、CCID设备的通信
  12. c++算法解决力扣跳步问题
  13. 制作在线单词测试的软件,推荐几个在线测试英语单词量的网站
  14. 超越卷积、自注意力机制:强大的神经网络新算子involution(连算子都内卷= =)
  15. php 豆瓣api_豆瓣的账号登录及PHP api操作
  16. 《Python:编程:从入门到实践》学习笔记_第9章 类
  17. platform创建说明
  18. 想剑网三妹子最多服务器,玩家有多“疯狂”?为了新门派,提前一年为其准备108套外观...
  19. python的Panda3D库如何安装使用以及用途
  20. .dll文件有什么用?

热门文章

  1. C++ Map find函数和count函数
  2. 电子邮件账号密码_电子邮件密码遭到破坏后如何​​恢复
  3. Linux中shell语法和脚本编写
  4. 办公软件转型SaaS安全与赢利待探索
  5. 解决Xcode模拟器attaching卡死问题
  6. 有关爱情与现实的名言(精选)
  7. StrictMode使用详解
  8. 618如何冲出重围?海尔智家:做好用户的数字化
  9. 计算机学院毕业典礼口号,毕业典礼主题口号
  10. Element is not exported