输入操作

  1. 一般使用Scanner s = new Scanner(System.in);

  2. Scanner类中的常用方法

    方法 描述
    String next() 接受的字符串以空格划分且不包含\n
    String nextLine() 接收的字符串以行划分且包含\n
    int nextInt() 接收一个整型值以空格划分
  3. 有大量输入数据时,使用BufferedReader reader = new BufferedReader(new InputSreamReader(System.in));

输出操作

  1. System.out.println()-----当输出大量数据的时候效率很低
  2. BufferedWriter log = new BufferedWriter(new OutputStreamWriter(System.out));使用log.write();-----输出大量数据的时候效率更高,不过需要捕获异常,还需要注意:只能输出字符数组和字符串,如果单独输出整型的话,相对于输出的是对应该整型ASCII码的字符,最后flush()一下,否则不会输出

大量输入数据和输出数据案例

使用BufferedWriter需要注意的点:

  1. write方法只能输出单个字符或字符串而且不换行
  2. 如果需要输出整型值,可以根据题目输出条件,在整型值后面 + " " 或 “\n”,就转为字符串了
  3. 最后在程序结束前flush()

使用BufferedReader需要注意的点:

  1. readLine方法配合String类的spilt方法使用
  2. 把每一行当作一次输入就行
  3. 注意用Integer.parseInt()把字符串转为整型

795. 前缀和

import java.util.*;
import java.io.*;
import java.math.*;public class Main {BufferedWriter log = new BufferedWriter(new OutputStreamWriter(System.out));BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));String[] sp;int[] a, s;int n, m;int l, r;void run() throws Exception {sp = reader.readLine().split(" ");n = Integer.parseInt(split[0]);m = Integer.parseInt(split[1]);a = new int[n + 1];s = new int[n + 1];sp = reader.readLine().split(" ");for (int i = 1; i <= n; i++) {a[i] = Integer.parseInt(sp[i - 1]);}for (int i = 1; i <= n; i++) {s[i] = s[i - 1] + a[i];}while (m-- > 0) {sp = reader.readLine().split(" ");l = Integer.parseInt(split[0]);r = Integer.parseInt(split[1]);log.write(s[r] - s[l - 1] + "\n");}log.flush();}public static void main(String[] args) throws Exception { new Main().run(); }
}

小技巧 ----- Java算法题中的输入输出相关推荐

  1. 小技巧 ----- Java算法题标准模版

    模版 import java.util.*; import java.io.*; import java.math.*;class Main {BufferedReader reader = new ...

  2. c算法题中各种输入和输出方法技巧详解!

    文章目录 引言 导入io库 输入 各种输入方法 `scanf` 格式说明符 基本示例 读入整数 读入其他类型的数字 读入单个字符 读入字符串 扫描字符集合 `getchar()` `gets()` ` ...

  3. 算法题中求解绝对值最值的技巧

    引言 现在算法题中,有时会遇到求解绝对值最值的问题,比如给定一个数组,求解 a b s ∣ a i − a j ∣ abs|a_i - a_j| abs∣ai​−aj​∣的最大值.诸如此类问题,暴力解 ...

  4. 悲哀!面试现场,简单几道java算法题,90%程序员没写出来

    这两天小编逛论坛的时候发现一个很有意思的事情,就是一位互联网公司的面试官分享的,他们最近想招一批java的实习生,所以他们的面试题并不难,但是前来面试的人,却很多都挂在了几道算法题上,要么就是逻辑不严 ...

  5. 我整理了50道经典Java算法题,直接进了字节跳动!!

    写在前面 最近,很多小伙伴都想进入字节跳动这个快速发展的公司,而字节跳动对于算法的要求比较高.于是乎,有些小伙伴问我能否整理一些基础的算法题,帮助他们提升下基础算法能力.我:没问题啊!于是,经过半个多 ...

  6. Java算法题:Z字形变换

    Java算法题:Z字形变换 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "PAYPALISHIRING" 行 ...

  7. word文档通配符换行_职场小技巧|没想到word中的表格就可以排版图片大小

    不知道大家在工作当中有没有遇到这样的情况:在WORD文档中想插入图片,却不能保证大小格式一样怎么办?如果数量较少的话,我相信大家还是有办法解决的!比如可以先插入一张图片后设置统一的格式进使用快捷键F4 ...

  8. 惊!面试现场,简单几道java算法题,90%程序员没写出来

    近几个月很多大学实习生离校找实习工作去了,本以为自己很值钱,实际上发现自己并不值钱,想象着自己能赚很多钱了,结果只能拿到一点微薄的工资,很多人会怪公司给的少,但是你有没有想过,你自己的技术值多少钱?你 ...

  9. 【Java算法题】剑指offer_数据结构之03队列栈

    前言 刷题链接: https://www.nowcoder.com/exam/oj/ta?page=2&tpId=13&type=265 原定于5.30写完队列&栈,超时了14 ...

最新文章

  1. java rsa加密解密_前端实现对请求参数进行RSA加密amp;解密,针对字符串过长进行分段加密amp;分段解密的处理...
  2. 博士申请 | 美国杜克大学徐攀助理教授招收机器学习/人工智能全奖博士生
  3. Sql Server 连接池及其用法
  4. 猜数大小编程c语言_猜数正确编程
  5. MATLAB图像增强程序举例
  6. matlab中的方波信号图片_基于Matlab的雷达信号处理仿真
  7. @RequiresPermissions 注解说明
  8. Matlab代码提示“svmtrain已删除 请改用fitcsvm”,以及svmpredict没有返回结果label和精度accuracy的解决办法
  9. 通俗理解滑模变结构(2)
  10. 论文笔记_S2D.03-2012-BMVC-目标类别分割和稠密立体重建的联合优化
  11. hl3150cdn废粉仓清零_常见施乐联想兄弟等打印机加粉清零(废粉仓清零)方法
  12. linux 编写 声卡驱动程序,在Linux中注册声卡驱动程序
  13. SNK,作为程序后缀的时候,是.net中的强密匙加密文件
  14. odoo网页上传本地视频
  15. 2019下半年的教师资格考试~学霸大佬们总结的记忆口诀涨分必备
  16. 什么是等级保护?等保二级和三级的区别?
  17. 【论文笔记】:CornerNet: Detecting Objects as Paired Keypoints
  18. python调用迅雷下载引擎_python将下载地址转换成迅雷和qq旋风的下载地址
  19. 1049: 平方和与立方和 C语言
  20. android 收藏功能,5款不可思议的安卓黑科技APP,各个超级实用,希望大家低调收藏...

热门文章

  1. Django APIView源码解析
  2. 【CSAPP笔记】4. 汇编语言——基础知识
  3. STL——配接器(adapters)
  4. [转]给定单链表,检测是否有环。如果有环,则求出进入环的第一个节点
  5. 对路径“xxxx”的访问被拒绝
  6. mplayer error opening/initializing the selected video_out (-vo) device
  7. ubuntu常用命令或设置
  8. 制药企业核算报表系统整体方案
  9. 大数据和BI商业智能有何区别?有何相关?
  10. 安卓用targetSdk来兼容各个版本