检查给定字符串是否包含所有数字(Java)10 Sept 2024 | 4 分钟阅读 引言程序员经常会遇到需要确定给定字符串是否包含0到9所有数字的场景。这在输入验证、数据验证和密码验证等各种情况下都很有用。 问题陈述编写一个 Java 程序,检查给定字符串是否包含0到9的所有数字。该程序应以字符串作为输入,并输出一条消息,指示字符串是否包含所有数字。如果字符串包含所有数字,则消息必须表明字符串有效。如果字符串不包含所有数字,则消息需要指示字符串无效。 示例 1 输入: "abc123def456ghi789jkl0"。 输出: 有效。 说明: 该字符串包含零到九的所有数字。 示例 2 输入: "The brief brown fox jumps over the lazy dog"。 输出: 无效 说明: 该字符串不包含数字。 示例 3 输入 "1 2 3 4 5 6 7 8 9 0". 输出: 有效 说明: 该字符串包含零到九的所有数字。 方法 1:使用迭代算法步骤 1: 创建一个布尔数组来存储 0 到 9 的数字是否存在。 步骤 2: 初始化一个标志为 true,表示字符串中存在所有数字。 步骤 3: 遍历字符串中的每个字符。 步骤 4: 使用 Character.isDigit() 方法检查字符是否为数字。 步骤 5: 如果字符是数字,则将布尔数组中相应的元素设置为 true。 步骤 6: 遍历完所有字符后,遍历布尔数组。 步骤 7: 如果布尔数组中的任何元素为 false,则将标志设置为 false。 步骤 8: 如果标志为 true,则输出“有效”,表示字符串中存在所有数字。否则,输出“无效”。 实施文件名: StringCheck.java 输出 Valid InValid Valid 复杂度分析 时间复杂度: O(n),其中 n 是输入字符串的长度。我们需要遍历字符串一次来检查每个数字是否存在。 空间复杂度: O(1),因为数字的存在存储在大小为 10 的固定大小的布尔数组中。 方法 2:使用 String 类方法算法步骤 1: 定义一个名为“containsAllDigits”的方法,该方法接受一个字符串参数“str”并返回一个布尔值。 步骤 2: 遍历数字 0 到 9,对于每个数字 步骤 2.1: 使用“contains”方法检查字符串是否包含当前数字,并使用“String.valueOf(i)”将数字转换为字符串。 步骤 2.2: 如果字符串不包含当前数字,则返回 false。 步骤 3: 如果字符串包含 0 到 9 的所有数字,则返回 true。 步骤 4: 在 main 方法中 步骤 4.1: 定义三个示例文本:str1、str2 和 str3。 步骤 4.2: 使用“containsAllDigits”方法检查每个示例文本是否包含 0 到 9 的所有数字。 步骤 4.3: 如果字符串包含所有数字,则输出“有效”。否则,输出“无效”。 文件名: StringCheck.java 输出 Valid Invalid Valid 复杂度分析 上述程序的 time complexity 为 O(n * k),其中 n 是输入字符串的长度,k 是数字的数量(在此例中为常数 10)。 程序的 space complexity 为 O(1),因为程序仅使用恒定的额外空间(用于布尔标志和用于将数字转换为字符串的临时字符串)。 下一个主题Java 抽象类中的构造函数 |
虽然 String 正在使用中,但仍然可以反转它。由于 Java 中的 String 是不可变的,因此无法反转同一个 String;但是,通过使用可变的 StringBuilder 或 StringBuffer,您可以限制中间 String 对象的数量。该方法...
阅读 3 分钟
在本节中,我们将创建 Java 程序,使用 for 循环、while 循环和混淆代码打印印度地图图案。IndiaMapPattern1.java public class IndiaMapPattern1 { public static void main(String args[]) { int a =10, b = 0, c = 10; // 移除前 31 个字符后的编码字符串 // 它的个体...
阅读 4 分钟
专家程序员和新学习者在他们的代码编写经历中都会遇到令人兴奋的挑战。广泛流行的编程语言Java在介于企业解决方案和移动应用程序之间的众多应用程序中驱动执行。处理Java代码的学生和专业人士通常会在...
阅读 4 分钟
对象类的 equals() 方法用于比较两个对象,该方法接受一个对象并将当前对象与该对象进行比较。如果这两个对象的引用相等,则方法返回 true;否则,则不返回。示例 整个以下 Employee 类...
阅读 2 分钟
图案程序通常在面试中被问及,以检查逻辑实现和循环概念。在前一节中,我们讨论了各种图案,如三角形、树形、星形等。在本节中,我们将学习如何通过 Java 打印皇冠图案...
阅读 6 分钟
? Java 中的 LocalDateTime 类的 plusHours() 函数可用于向时间值添加小时。在本节中,我们将学习如何在 Java 中向日期对象添加小时。除了当前日期,我们还将添加小时...
阅读 3 分钟
Java 是一种通用且广泛使用的编程语言,以其平台独立性而闻名,但与任何语言一样,编写良好且高效的代码对于出色的用户体验至关重要。无论我们是经验丰富的 Java 开发人员还是刚刚起步,都有许多方法可以...
阅读 3 分钟
Java 的 'ByteBuffer' 是一个固定数量字节的容器。'ByteBuffer' 的大小是它可以容纳的字节数,并且在创建 'ByteBuffer' 时确定。我们可以使用...使用特定字节大小的 'ByteBuffer'...
5 分钟阅读
在 Java 中,当编译器期望一个类定义但遇到其他内容时,会发生“期望类”的错误。这通常是由于缺少花括号、语法错误或关键字放错位置引起的。确保正确的类声明、正确使用数据类型以及保持正确的结构有助于避免这种情况……
7 分钟阅读
在此游戏中,石子被放置在一排(给出一个输入数组)。分配给两个玩家的任务是挑选出价值最高的石子。收集到最高价值石子的玩家赢得比赛。玩家 1 将首先开始。之后...
阅读 12 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India