Java编程在ICPC快速IO实现源码

本文将介绍Java在ICPC快速IO实现方法,下面看看具体代码。

不处理EOF:

import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Random;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.io.BufferedReader;
import java.util.Comparator;
import java.io.InputStream;
/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 */
public class Main {
 public static void main(String[] args) {
 InputStream inputStream = System.in;
 OutputStream outputStream = System.out;
 InputReader in = new InputReader(inputStream);
 PrintWriter out = new PrintWriter(outputStream);
 TaskD solver = new TaskD();
 solver.solve(1, in, out);
 out.close();
 }
 static class TaskD {
 public void solve(int testNumber, InputReader in, PrintWriter out) {
 }
 }
 static class InputReader {
 public BufferedReader reader;
 public StringTokenizer tokenizer;
 public InputReader(InputStream stream) {
 reader = new BufferedReader(new InputStreamReader(stream), 32768);
 tokenizer = null;
 }
 public String next() {
 while (tokenizer == null || !tokenizer.hasMoreTokens()) {
 try {
  tokenizer = new StringTokenizer(reader.readLine());
 } catch (IOException e) {
  throw new RuntimeException(e);
 }
 }
 return tokenizer.nextToken();
 }
 public int nextInt() {
 return Integer.parseInt(next());
 }
 }
}

处理EOF:

import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.math.BigInteger;
import java.util.Arrays;
import java.util.Random;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.io.BufferedReader;
import java.util.Comparator;
import java.io.InputStream;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 */
public class Main {
 public static void main(String[] args) {
 InputStream inputStream = System.in;
 OutputStream outputStream = System.out;
 InputReader in = new InputReader(inputStream);
 PrintWriter out = new PrintWriter(outputStream);
 TaskD solver = new TaskD();
 solver.solve(1, in, out);
 out.close();
 }
 static class TaskD {
 public void solve(int testNumber, InputReader in, PrintWriter out) {
 while(in.hasNext())
 {
 int a=in.nextInt();
 int b=in.nextInt();
 System.out.println(a+b);
 }
 }
 }
 static class InputReader {
 public BufferedReader reader;
 public StringTokenizer tokenizer;
 public InputReader(InputStream stream) {
 reader = new BufferedReader(new InputStreamReader(stream), 32768);
 tokenizer = null;
 }
 public boolean hasNext() {
 while (tokenizer == null || !tokenizer.hasMoreTokens()) {
 try {
  String line = reader.readLine();
  if(line == null) return false;
  tokenizer = new StringTokenizer(line);
 } catch (IOException e) {
  throw new RuntimeException(e);
 }
 }
 return true;
 }
 public String next()
 {
 return tokenizer.nextToken();
 }
 public int nextInt() {
 return Integer.parseInt(next());
 }
 }
}

总结

以上就是本文的全部内容,希望对大家有所帮助。感谢大家对本站的支持!

(0)

相关推荐

  • 浅析Java.IO输入输出流 过滤流 buffer流和data流

    java.io使用了适配器模式装饰模式等设计模式来解决字符流的套接和输入输出问题. 字节流只能一次处理一个字节,为了更方便的操作数据,便加入了套接流. 问题引入: 缓冲流为什么比普通的文件字节流效率高? 不带缓冲的操作,每读一个字节就要写入一个字节. 由于涉及磁盘的IO操作相比内存的操作要慢很多,所以不带缓冲的流效率很低. 带缓冲的流,可以一次读很多字节,但不向磁盘中写入,只是先放到内存里. 等凑够了缓冲区大小的时候一次性写入磁盘,这种方式可以减少磁盘操作次数,速度就会提高很多! 这就是两者的区

  • AndroidApk混淆编译时,报告java.io.IOException...错误解决办法

    在混淆编译之前,我的程序可以正常运行,混淆编译时,报告如下错误: Error:Execution failed for task ':gviews:transformClassesAndResourcesWithProguardForRelease'. Java.io.IOException: The same input jar [E:\Android\myProgram\angel\libs\alipaySdk-20160825.jar] is specified twice. 首先 看一下

  • 文件路径正确,报java.io.FileNotFoundException异常的原因及解决办法

    新添加个发文类型 insert into mis.zyb_sf_type values('121','榆财法字','榆财法字',2,'0','1',21,NULL,'0','发文模板.doc','') 创建文章时出错了, 异常信息: 文件保存失败 Java.io.FileNotFoundException: E:\tomcat\jinzhongshi\jinzs_yuci\webapps\myDoJZS\word\template_fw\发文模版.doc (系统找不到指定的文件.) at jav

  • JSP上传图片产生 java.io.IOException: Stream closed异常解决方法

    在做 jsp 上传图片时,把 java 代码直接改成 jsp,上传时产生 如下异常: 2012-12-31 8:59:21 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet jsp threw exception java.io.IOException: Stream closed ... 百思不得其解,翻出 jsp 转成 servlet 后的代码.如下(很很的醒目一下):

  • Java编程在ICPC快速IO实现源码

    本文将介绍Java在ICPC快速IO实现方法,下面看看具体代码. 不处理EOF: import java.io.OutputStream; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.util.Arrays; import java.util.Random; import java.io.IOException; import java.io.Inp

  • 深入了解Java线程池:从设计思想到源码解读

    目录 为什么需要线程池 线程池设计思路 线程池的工作机制 线程池的参数及使用 线程池的状态 提交任务 任务队列 线程工厂 拒绝策略 关闭线程池 Executors 静态工厂 合理地配置线程池 线程池的监控 源码分析 execute addWorker Worker runWorker getTask processWorkerExit 面试题 为什么需要线程池 我们知道创建线程的常用方式就是 new Thread() ,而每一次 new Thread() 都会重新创建一个线程,而线程的创建和销毁

  • java实战之飞机大战小游戏(源码加注释)

    一.工程文件 二.Main.java 主函数,实现类 package ui; //主函数实现 public class Main { public static void main(String[] args) { //创建窗体 GameFrame frame = new GameFrame(); //创建面板 GamePanel panel = new GamePanel(frame); //调用开始游戏的方法启动游戏 panel.action(); //将面板加入到窗体中 frame.add

  • 解析Java中PriorityQueue优先级队列结构的源码及用法

    一.PriorityQueue的数据结构 JDK7中PriorityQueue(优先级队列)的数据结构是二叉堆.准确的说是一个最小堆. 二叉堆是一个特殊的堆, 它近似完全二叉树.二叉堆满足特性:父节点的键值总是保持固定的序关系于任何一个子节点的键值,且每个节点的左子树和右子树都是一个二叉堆. 当父节点的键值总是大于或等于任何一个子节点的键值时为最大堆. 当父节点的键值总是小于或等于任何一个子节点的键值时为最小堆. 下图是一个最大堆 priorityQueue队头就是给定顺序的最小元素. prio

  • Java终止线程实例和stop()方法源码阅读

    了解线程 概念 线程 是程序中的执行线程.Java 虚拟机允许应用程序并发地运行多个执行线程. 线程特点 拥有状态,表示线程的状态,同一时刻中,JVM中的某个线程只有一种状态; ·NEW 尚未启动的线程(程序运行开始至今一次未启动的线程) ·RUNNABLE 可运行的线程,正在JVM中运行,但它可能在等待其他资源,如CPU. ·BLOCKED 阻塞的线程,等待某个锁允许它继续运行 ·WAITING 无限等待(再次运行依赖于让它进入该状态的线程执行某个特定操作) ·TIMED_WAITING 定时

  • Java Swing实现餐厅点餐系统源码(收藏版)

    本文适合Java初级选手,主要技术是Java和MySQL.主要功能如下: (1)注册功能 (2)管理员可以新增套餐 (3)管理员可以管理套餐 (4)管理员可以处理订单 (5)管理员可以修改密码 (6)顾客可以点餐 (7)顾客可以查看订单信息 (8)顾客可以修改个人信息 下面是项目目录 源码有点多,不太好贴,如果需要源码,可以关注公众号[Java技术迷]回复[2021]编号03即是该系统的源码. 即可获取整套源码,也可以直接扫码关注 下面是系统运行图 如果需要源码,可以关注公众号回复[2021]即

  • 深入理解Java线程池从设计思想到源码解读

    线程池:从设计思想到源码解析 前言初识线程池线程池优势线程池设计思路 深入线程池构造方法任务队列拒绝策略线程池状态初始化&容量调整&关闭 使用线程池ThreadPoolExecutorExecutors封装线程池 解读线程池execute()addWorker()Worker类runWorker()processWorkerExit() 前言 各位小伙伴儿,春节已经结束了,在此献上一篇肝了一个春节假期的迟来的拜年之作,希望读者朋友们都能有收获. 根据穆氏哲学,投入越多,收获越大.我作此文时

  • Go语言io pipe源码分析详情

    目录 1.结构分析 2.pipe sruct分析 3.PipeReader对外暴露的是读/关闭 4.写法 5.总结 pipe.go分析: 这个文件使用到了errors包,也是用到了sync库. 文件说明:pipe是一个适配器,用于连接Reader和Writer. 1.结构分析 对外暴露的是一个构造函数和构造的两个对象. 两个对象分别暴露了方法,同时这两个对象还有一个共同的底层对象. 实际上,这两个对象暴露的方法是直接调用底层对象的, 那么核心还是在底层对象上,只是通过两个对象和一个构造方法将底层

  • Java线程池流程编排运用实战源码

    目录 引导语 1.流程引擎关键代码回顾 2.异步执行SpringBean 3.如何区分异步的SpringBean 4.mock流程引擎数据中心 5.新建线程池 6.测试 7.总结 引导语 在线程池的面试中,面试官除了喜欢问 ThreadPoolExecutor 的底层源码外,还喜欢问你有没有在实际的工作中用过 ThreadPoolExecutor,我们在并发集合类的<场景集合:并发 List.Map 的应用场景>一文中说过一种简单的流程引擎,如果没有看过的同学,可以返回去看一下. 本章就在流程

  • Java实现飞机大战游戏 附完整源码

    目录 飞机大战详细文档 实现效果: 结构设计 详细分析 Main界面类使用边框布局,给面板分三个区,如图所示 绘制背景地图 飞行道具类UML图 绘制线程: 如何让我们的游戏动起来 背景的绘制 我的飞机的绘制 移动线程 如何控制我的飞机移动? 敌方飞机线程 : 如何生成敌方飞机呢? 敌方子弹线程 : 使每一个敌方飞机开火 检测碰撞线程 : 在子弹与敌机碰撞时,移除敌机 其他功能:显示玩家hp,掉落道具,得分,升级,更换地图 飞机大战详细文档 文末有源代码,以及本游戏使用的所有素材,将plane2文

随机推荐