OJ在线编程常见输入输出(java版本)

基础知识

BufferedReader

概述

BufferedReader是Java I/O中的一个类,它是一个带缓冲区的字符输入流,用于从字符输入流中读取字符。它提供了一种逐行读取文本文件的方法,可以轻松地读取大量文本数据,并且可以通过使用缓冲区来提高读取效率。它的主要作用是读取文本文件中的字符数据,可以读取文件中的每一行数据,是Java I/O中常用的数据读取类之一。BufferedReader类只能读取字符类型的数据,如果需要读取其他类型的数据需要进行类型转换。

构造方法
  1. public BufferedReader(Reader in)

    创建一个缓冲字符输入流对象,并选择指定字符输入流对象in作为其实际数据源。

  2. public BufferedReader(Reader in, int size)

    创建一个缓冲字符输入流对象,并选择指定字符输入流对象in作为其实际数据源,同时指定缓冲区大小size。

成员方法
  1. public String readLine() throws IOException

    从缓冲区中读取一行结果, 并返回一个String类型的结果

  2. public int read() throws IOException

    从缓冲区读取一个字符, 并返回读取的字符的ASCII码值, 如果到达流的末尾就返回-1.

  3. public void close() throws IOException 关闭字符流

InputStreamReader
概述

是java从字节流字符流的一个桥梁

StreamTokenizer

概述
  • StreamTokenizer 类允许将输入流(Reader 对象)解析为标记(tokens),并允许以不同的方式处理这些标记。

属性:

  • nval:包含当前标记的数值(如果当前标记是数字),否则为 0.0。

  • sval:包含当前标记的字符串值(如果当前标记是字符串),否则为 null

  • ttype:指示当前标记的类型。可能的值有:TT_EOF(-1,表示输入流的末尾)、TT_EOL(10,表示换行符)、TT_NUMBER(表示一个数字)、TT_WORD(表示一个单词)以及具体的字符值(例如 ',')。

构造方法

StreamTokenizer(Reader r):创建一个新的 StreamTokenizer 对象,使用指定的 Reader 对象作为输入流。

成员方法

public int nextToken() throws IOException 返回输入流中下一个有效的字符, 如果 == StreamTokenizer.TT_EOF, 就说明文件结束了.

StreamTokenizer的 nextToken()方法, 会自动跳过输入流中的 空格换行, 返回有效的字符

PrintWriter

构造函数

public PrintWriter (Writer out)

成员方法

public void println()

输出传入的数据.

public void flush()

将在缓冲区存储的数据全部输出.

给出数据量的模型

 public class Main{// 静态创建数组private static int MAX_M = 100;private static int MAX_N = 100;private static int[][] data = new int[MAX_M][MAX_N];​public static void main(String[] args) throws IOException {// 初始化输入流BufferedReader br = new BufferedReader(new InputStreamReader(System.in));StreamTokenizer in = new StreamTokenizer(br);// 初始化输出流PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));// 不断读取直至没有数据while(in.nextToken() != StreamTokenizer.TT_EOF){// 获取输入流中的数据int m = (int) in.nval;// 获取下一个数据in.nextToken();int n = (int) in.nval;// 初始化数据for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){in.nextToken();data[i][j] = (int)in.nval;}}// 处理数据(调用解决算法), 并输出答案out.println();}// 输出输出流中的所有数据out.flush();// 关闭输入流和输出流br.close();out.close();}}

按照行读

 public class Main{private static String line;private static String[] part;public static void main(String[] args) throws IOException {// 输入流BufferedReader br = new BufferedReader(new InputStreamReader(System.in));// 输出流PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));// 每次读取一行while((line = br.readLine()) != null){// 分割字符串part = line.split(" ");// 处理数据​}out.flush();out.close();br.close();}}

推荐练习平台

https://ac.nowcoder.com/acm/contest/5657。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SSM的“众优”大学生家教平台的设计与实现

前言 对于当今社会的人们来说&#xff0c;互联网技术是必不可少的&#xff0c;随着经济和技术的不断发展&#xff0c;计算机已经深入到各个领域。“众优”大学生家教平台将人们的时间需求与计算机技术结合起来&#xff0c;架起一座桥梁&#xff0c;使用在线查看“众优”大学生…

设计模式讲解

设计原则 单一职责原则 > 一个对象应该只包含单一的职责&#xff0c;并且该职责被完整地封装在一个类中 > //一个人类 public class People {/*** 人类会编程*/public void coding(){System.out.println("int mian() {");System.out.println(" print…

CI/CD 流水线系统-开源框架Tekton

文章目录 CI/CD 流水线系统-开源框架Tekton什么是TektonTekton优点Tekton 组件介绍Tekton 概念术语 CI/CD 流水线系统-开源框架Tekton 什么是Tekton 官网&#xff1a;https://tekton.dev/ Tekton 是一个强大、灵活的构建 CI/CD 流水线系统的开源框架,允许开发者构建、测试和…

【牛客算法】某司面试算法题:循环右移二叉树

一、算法题描述 1.1 算法描述 现有一棵n个节点构成的二叉树&#xff0c;请你将每一层的节点向右循环位移k位。某层向右位移一位(即k1)的含义为&#xff1a; 若当前节点为左孩子节点&#xff0c;会变成当前节点的双亲节点的右孩子节点。 若当前节点为右儿子&#xff0c;会变成…

直播系统源码技术搭建部署流程及配置步骤

系统环境要求 PHP版本&#xff1a;5.6、7.3 Mysql版本&#xff1a;5.6&#xff0c;5.7需要关闭严格模式 Nginx&#xff1a;任何版本 Redis&#xff1a;需要给所有PHP版本安装Redis扩展&#xff0c;不需要设置Redis密码 最好使用面板安装&#xff1a;宝塔面板 - 简单好用的…

springboot中redis并发锁的等待时间设置长短

问题&#xff1a;等待时间我设置的大一点&#xff0c;还是立刻抛出错误不等待&#xff1b;个人是觉得要立刻抛出错误&#xff0c;首先如果同一把锁并发量太大&#xff0c;没有限流&#xff0c;会造成服务器连接数立刻达到最大连接数&#xff0c;服务不可用&#xff1b;其次等待…

Android——事件冲突处理

当我们给列表的item设置了点击事件后&#xff0c;又给item中的按钮设置了点击事件&#xff0c;此时item的点击事件会失效。 解决 给item的布局xml中设置以下属性 android:descendantFocusability"blocksDescendants"<LinearLayout xmlns:android"http://sc…

HT7181 16.8V,14A高效升压转换器

1、特征 输入电压范围:2.7V-16V 输出电压范围:最高16.8V 固定开关频率:360kHz 可编程峰值电流:14A 高转换效率: 94% (VIN 7.2V, VOUT9.3V, IOUT1.5A) 90% (VIN 7.2V, VOUT9.3V, IOUT 7A) 93% (VIN 7.2V, VOUT12V, IOUT 1.5A) 90% (VIN 7.2V, VOUT12V, IOUT 5.5A) 90% (VIN …

电脑磁盘再次分区

如何把c盘变成一个大的盘&#xff1f; 给电脑的C盘扩容通常涉及到调整硬盘分区的大小&#xff0c;这可以通过多种方法实现&#xff0c;以下是一些常见的步骤&#xff1a; 1. **使用磁盘管理工具**&#xff1a; - 在Windows系统中&#xff0c;可以使用内置的磁盘管理工具来调整…

220V降12V1A恒流点灯WT5112

220V降12V1A恒流点灯WT5112 芯片特点 高精度恒流输出&#xff1a;WT5112 是一款适用于非隔离降压型恒流 LED 驱动芯片。在 220V 降 12V、1A 恒流点灯应用中&#xff0c;它能够提供高精度的恒流输出。其恒流精度通常可以达到 3% - 5% 左右&#xff0c;这对于 LED 灯的稳定发光非…

从Docker容器中备份整个PostgreSQL

问题 现在需要从Docker容器中备份整个PostgreSQL后&#xff0c;然后&#xff0c;使用备份文件在另外一个pg的docker容器中恢复过来。 步骤 备份旧容器中的PG # 登录到旧的PG容器中 docker exec -it postgres bash # 备份数据库 pg_dumpall -c -U postgres > dump_date %…

安卓基础001

前言 也是好久没有更新博客了,最近实习也是需要学习一些知识哈哈哈哈哈哈为了更好的发展嘛,咱们从客户端开始,过程可能有点像写前端,不喜勿喷,希望在学习的过程中也可以给大家带来一些简单得帮助吧....... tips:这里跳过安卓studio安装,大家可自行寻找教程 写的不详细,只是为了…

Zookeeper面试整理-源码及实现细节

Zookeeper 的源码和实现细节是理解其高可用性、分布式一致性和高效性的关键。以下是 Zookeeper 的核心实现细节,涵盖其架构、关键模块、以及具体的代码实现机制。 1. Zookeeper 架构 Zookeeper 采用 Leader-Follower 架构,集群由多个节点组成。主要分为三种角色:Leader、Fol…

web相关知识学习笔记

一&#xff0c; web安全属于网络信息安全的一个分支&#xff0c;www即全球广域网&#xff0c;也叫万维网&#xff0c;是一个分布式图形信息系统 二&#xff0c; 1.①安全领域&#xff0c;通常将用户端&#xff08;浏览器端&#xff09;称为前端&#xff0c;服务器端称为后端 ②…

【SAP Abap】X-DOC:SAP ABAP系统变量SY-INDEX与SY-TABIX差异点

【SAP Abap】X-DOC&#xff1a;SAP ABAP系统变量SY-INDEX与SY-TABIX差异点 SAP ABAP系统变量SY-INDEX与SY-TABIX差异点 ABAP系统变量SY-INDEX与SY-TABIX都是用来记录循环的次数。 SY-INDEX在do…endo和while…endwhile中有效&#xff0c; SY-TABIX在对内表的循环查询中有效&…

从“摸黑”到“透视”:AORO A23热成像防爆手机如何改变工业检测?

在工业检测领域&#xff0c;传统的检测手段常因效率低下、精度不足和潜在的安全风险而受到诟病。随着科技的不断进步&#xff0c;一种新兴的检测技术——红外热成像技术&#xff0c;正逐渐在该领域崭露头角。近期&#xff0c;小编对一款集成红外热成像技术的AORO A23防爆手机进…

君正 T31 型号芯片架构模块介绍

文章目录 1. 核心模块2. 存储模块3. 安全模块4. 图像和视频处理5. 输入输出接口6. 其他支持模块 T31 型号 MCU 结构图&#xff1a; T31 集成了高性能 CPU、多功能图像处理单元、丰富的输入输出接口以及多种安全保护机制&#xff0c;适合用于视频监控、智能家居、工业控制等高性…

设计模式概览

设计模式是一种在软件设计中被广泛使用的解决方案&#xff0c;旨在提高软件的可重用性、可维护性和可扩展性。设计模式可以分为三大类&#xff1a;创建型、结构型和行为型。 1、创建型模式 这些模式主要关注对象的创建过程&#xff0c;提供了不同的方式来创建对象&#xff0c…

改进YOLOv8系列:引入低照度图像增强网络Retinexformer | 优化低光照目标检测那题

改进YOLOv8系列:引入低照度图像增强网络Retinexformer | 优化低光照目标检测那题 🚀论文研究概括🚀加入到网络中的理论研究🚀需要修改的代码1 🍀🍀Retinexformer 代码2🍀🍀tasks里引用🚀创建yaml文件🚀测试是否创建成功前言:这篇论文提出了一种用于低光图像…

设计模式06-结构型模式1(适配器/桥接/组合模式/Java)

#1024程序员节&#xff5c;征文# 4.1 适配器模式 结构型模式&#xff08;Structural Pattern&#xff09;的主要目的就是将不同的类和对象组合在一起&#xff0c;形成更大或者更复杂的结构体。结构性模式的分类&#xff1a; ​ 类结构型模式关心类的组合&#xff0c;由多个类…