使用 Java 8 高效读取竞争性编程输入10 Sept 2024 | 4 分钟阅读 众所周知,在解决任何编程竞赛问题时,第一步就是收集输入或读取输入。我们经常犯的一个错误是花费过多的时间编写代码和编译。在 Java 中,建议使用 BufferedReader 而不是 Scanner 来接受用户输入。为什么?这在我们之前的文章中已经讨论过。 (另外,java.util.Scanner 的相关问题也已提供) 然而,为了更好地理解,本文将深入探讨这两种实现方式。使用 Scanner 类读取输入的方法 使用 BufferedReader 类读取输入的方法 使用流辅助的 BufferedReader 类读取输入的方法 (更优化) 现在,让我们通过提供简洁的 Java 程序和理解自定义输入生成的输出,深入讨论每种读取方式。 上面的例子说明了大多数程序员在解决编程竞赛问题时使用的最常见的方法。但是,如果我们能稍微改进我们的代码,使其更快、更可靠呢?方法 2:简单的 BufferedReader 输入读取 java.io.BufferedReader 类不提供读取原始数据输入的任何方法。Java.io.BufferedReader 类从字符输入流读取文本,缓冲字符,从而有效地读取字符序列。尽管它会抛出一个称为 IOException 的检查异常。让我们看看如何处理这个异常并从用户那里读取输入。请看如下自定义输入:输入:4 5.6 1 2 3 4 5 示例 上面的例子说明了在解决编程竞赛问题时读取数据的另一种常见方法。那么,这足够了吗?如果我们能进一步改进它呢?是的。这是可能的。敬请关注。 方法 3:使用流增强的 BufferedReader 读取分隔数据的增强方法 在前面的示例中,我们看到在读取空格分隔数据时,我们首先将其存储在字符串数组中,然后遍历元素,再使用 Java 类型转换将其转换为所需的数据类型。如何用一行代码就能实现呢?是的。Java 8 的流库提供了各种函数,使其简单且优化。请看如下自定义输入: 输入:34 55 78 43 78 43 22 94 67 96 32 79 6 33 |
在 Java 中,@SuppressWarnings 被定义为一个注解,用于抑制或忽略编译器由于特定代码而引发的特定警告。简单来说,@SuppressWarnings 注解指示编译器忽略或跳过特定的...
阅读 4 分钟
很多时候,我们需要克隆一个数组来备份其原始元素。我们有一些特殊的字符串和数字,如回文数、回文字符串和阿姆斯特朗数,为了检查它们的特殊性,我们需要克隆数组。例如,要检查……
7 分钟阅读
在浩瀚的编程语言海洋中,Java 是一种多功能且强大的工具,它使开发人员能够承担复杂的软件开发项目。水手(或程序员)必备的 stdin 和 stdout、媒体 Java 程序以及与外部世界的通信。stdin 的起源:使用 stdin,Java...
阅读 4 分钟
欧几里得算法或辗转相除法是数学中一个成熟的方法,用于查找 GCD。GCD 代表最大公约数,它是一个正整数。它能整除两个数而不留余数。它的使用是必不可少的...
阅读 4 分钟
API(应用程序编程接口)开发是现代软件开发的一个重要方面。API 允许不同的软件系统相互通信并共享数据和功能,使开发人员能够通过利用现有资源来构建复杂的应用程序。Java 是一种流行且强大的编程语言,它提供了...
5 分钟阅读
Java 技术无需介绍。世界各地的人们仍然对 Java 在 Web 和移动开发中令人惊叹的力量感到惊叹。当然,您也可能被 Java 在软件开发中的流行度和垄断地位所吸引,并且可能想使用...
阅读 8 分钟
在 Java 中,内存管理和垃圾回收是维持最佳性能和避免内存泄漏的关键方面。与 Java 的垃圾回收机制相关的有趣概念是孤岛。这个术语指的是一组相互引用但...
阅读 4 分钟
Java 数组转列表 在 Java 编程中,数组和列表是基本的数据结构,通常用于存储元素的集合。虽然数组提供固定大小的存储,但列表提供动态大小调整和其他功能。有时我们可能需要将数组转换为列表以...
阅读 6 分钟
?图像压缩允许我们在不显著影响视觉质量的情况下减小图像文件的大小。有两种压缩类型。首先,我们使用有损压缩来接受降低的图像质量,同时实现更小的文件大小。例如,我们有...
5 分钟阅读
红黑树是一种特殊的二叉搜索树,具有自平衡特性。红黑树的每个节点都有一个额外的位,该位始终被解释为颜色。为了在插入、更新和删除过程中保持红黑树的平衡,...
阅读 8 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India