当前位置: 首页 > wzjs >正文

佛山免费网站建站模板企业培训课程视频

佛山免费网站建站模板,企业培训课程视频,杭州网站建设服务,网页设计学科门类是啥在算法比赛中,不推荐使用 Scanner 和 System.out.println()。Scanner 线程安全,有大量同步操作,读取输入时每次都要解析数据类型,处理大数据量时性能开销大、效率低,易使程序超时间限制。System.out.println() 每次调用…

在算法比赛中,不推荐使用 Scanner 和 System.out.println()Scanner 线程安全,有大量同步操作,读取输入时每次都要解析数据类型,处理大数据量时性能开销大、效率低,易使程序超时间限制。System.out.println() 每次调用都刷新输出缓冲区,缺乏有效缓冲机制,处理大量输出时频繁 I/O 操作会成性能瓶颈,降低输出效率,影响比赛成绩。

为了提高效率,我们可以使用BufferedReaderStreamTokenizer来处理输入,使用PrintWriter来处理输出。

规定数据量

BufferedReader

BufferedReader 是 Java 中用于读取字符流的缓冲输入流,它可以一次读取多个字符到缓冲区中,从而减少了与底层输入源的交互次数,提高了读取效率。

StreamTokenizer

StreamTokenizer 是一个用于解析输入流的实用工具类,它可以将输入流分解为一个个的标记(token),如数字、单词等。结合 BufferedReader 使用,可以更方便地读取不同类型的数据。

PrintWriter

PrintWriter 是一个用于输出字符流的类,它提供了方便的格式化输出方法,并且可以进行缓冲,从而提高输出效率。

假设我们要读取多个整数,计算它们的和,并输出结果。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.StreamTokenizer;public class LargeDataExample {public static void main(String[] args) throws IOException {BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));StreamTokenizer tokenizer = new StreamTokenizer(reader);PrintWriter writer = new PrintWriter(System.out);// 读取整数的个数tokenizer.nextToken();int n = (int) tokenizer.nval;int sum = 0;// 循环读取 n 个整数并求和for (int i = 0; i < n; i++) {tokenizer.nextToken();int num = (int) tokenizer.nval;sum += num;}// 输出结果writer.println("这些整数的和是: " + sum);// 刷新输出缓冲区writer.flush();// 关闭资源reader.close();writer.close();}
}

按行读取

在算法比赛中,当需要按行读取输入并进行输出时,BufferedReader 和 PrintWriter 是非常实用的工具。BufferedReader 能够高效地按行读取输入,而 PrintWriter 可以高效地输出结果。以下是详细的使用说明和示例代码。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;public class ReadAndWriteByLine {public static void main(String[] args) throws IOException {// 创建 BufferedReader 对象,用于从标准输入读取数据BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));// 创建 PrintWriter 对象,用于将结果输出到标准输出PrintWriter writer = new PrintWriter(System.out);// 读取第一行输入,这一行通常包含一个整数,表示后续输入的行数String firstLine = reader.readLine();int numLines = Integer.parseInt(firstLine);// 循环读取指定行数的输入for (int i = 0; i < numLines; i++) {// 读取一行输入String line = reader.readLine();// 这里可以对读取到的每一行数据进行处理// 例如,将每行数据原样输出writer.println(line);}// 刷新 PrintWriter 的缓冲区,确保所有数据都被输出writer.flush();// 关闭 BufferedReader 和 PrintWriter,释放资源reader.close();writer.close();}
}

http://www.dtcms.com/wzjs/305177.html

相关文章:

  • 做网站一定要用ps吗google开户
  • 2345网址大全手机版厦门关键词排名seo
  • 北京手机网站制作公司软件外包企业排名
  • 网站推广公司网站社群营销怎么做
  • 网站开发与黑客沈阳seo团队
  • 琪觅公司网站开发渠道营销推广方案
  • 互助盘网站怎么做的市场营销策划公司
  • 网站建设版权纠纷营销推广公司
  • rsd wordpress网页seo搜索引擎优化
  • 做商城网站要多少钱新闻最新消息今天
  • 桓台网站建设公司长沙百度地图
  • 呼伦贝尔旅游包车网站咋做建站流程主要有哪些
  • 做一个打鱼网站需要多少钱百度联盟app
  • 做h5的网站哪个好google网站推广
  • 苏州园区做网站中国联通业绩
  • php做调查问卷网站深圳关键词优化公司哪家好
  • 做微商城网站疫情最新情况
  • 免费做简历的软件网站杭州seo博客
  • 网站开发网网站设计公司上海
  • 网络营销导向的企业网站建设的要求网站收录服务
  • html5的篮球网站开发百度官方免费下载安装
  • ps怎么做网站图片谷歌 翻墙入口
  • 产品展示网站模板下载seo是什么意思 seo是什么职位
  • 酷狗音乐网站开发语言hao123网址导航
  • 西安公司网站建设seo排名教程
  • 什么网站是专做代购的网络营销推广网站
  • 上海建设工程造价网站济南优化网页
  • 网页制作与网站建设实战大全优化教程网
  • 误入网站退不了怎么做web前端培训费用大概多少
  • 做独立网站需要注意些什么怎么开网店新手入门