FizzBuzz Program in Java2025年5月2日 | 阅读 9 分钟 FizzBuzz 是一个在孩子们中很受欢迎的游戏。通过玩这个游戏,孩子们学会了除法。现在,FizzBuzz 游戏已经成为一个程序员面试中经常被问到的流行编程问题。在本节中,我们将学习如何在 Java 中创建 **FizzBuzz 程序**。 FizzBuzz 游戏规则FizzBuzz 游戏规则非常简单。
注意:您可以使用不同的除数(如 5 和 7 等)和字符串(Fizz 和 Buzz)来代替 3 和 5。让我们在 Java 程序中实现上述规则。 Java FizzBuzz 程序有以下几种方法可以在 Java 中创建 FizzBuzz 程序:
使用 else-if 语句在下面的程序中,我们从用户那里读取一个整数 (n),它是打印 Fizz、Buzz 或 FizzBuzz 的上限。for 循环从 1 开始,直到条件 i<=n 为假。else-if 语句用于检查数字是否是 3 和 5 的倍数。 算法步骤 1: 首先导入 Scanner 类,这是检索用户输入的重要工具。然后,实例化一个 Scanner 对象来方便读取输入。 步骤 2: 提示用户输入一个数字。使用 scanner 捕获用户提供的整数输入,并将其赋值给变量 "n"。 步骤 3: 通过控制台消息通知用户,程序将显示用户输入的数字까지的 Fizz、Buzz 和 FizzBuzz 数字。 步骤 4: 初始化一个从 1 到 "n"(包含)的循环。此循环将促进 Fizz、Buzz 和 FizzBuzz 数字的生成和显示。
步骤 6: 循环完成后(即处理完从 1 到 n 的所有数字)后,继续进行下一步。 FizzBuzzExample1.java 输出 ![]() 使用 Java 8Java 8 提供了 IntStream 接口。我们使用了 IntStream 接口的以下两个方法。 rangeClosed() 方法: 它是 IntStream 接口的静态方法。它返回指定范围内的顺序 IntStream。 语法 该方法解析两个参数:
使用 mapToObj() 方法该方法执行一个中间操作,并返回一个对象流,该流由将给定函数应用于此流的元素的结果组成。 语法 该方法解析一个参数 mapper(新流的元素类型)。它返回新流。 算法步骤 1: 导入并创建一个 Scanner 实例来处理用户输入。 步骤 2: 显示提示信息,要求用户输入一个整数,读取用户的整数输入,并将其存储在变量 num 中。 步骤 3: 使用 IntStream.rangeClosed(1, num) 生成从 1 到 num 的整数流。
步骤 4: 关闭 scanner 对象以防止资源泄露。在打印完流中的所有元素并关闭 scanner 后,程序将终止。 FizzBuzzExample2.java 输出 Enter the number: 40 1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32 Fizz 34 Buzz Fizz 37 38 Fizz Buzz 请注意,在上面的程序中,FizzBuzz 的逻辑通过使用 三元运算符 被调整为一行。这减少了代码行数。我们打印 Fizz 如果数字是 3 的倍数,打印 Buzz 如果数字是 5 的倍数,打印 FizzBuzz 如果数字是 3 和 5 的倍数,否则打印 数字 本身。 使用取模运算符算法 步骤 1: 创建一个 Scanner 对象以从控制台读取用户输入。提示用户输入 FizzBuzz 游戏的上限。 步骤 2: 捕获用户输入的整数并将其存储在名为 limit 的变量中。此整数决定 FizzBuzz 序列的运行范围。 步骤 3: 使用 For 循环迭代从 1 到 limit 中存储的值。对于每个数字,使用条件检查来确定它与 3 和 5 的关系。 步骤 4: 在循环内,检查每个数字是否可以被 3、5 或两者整除。
步骤 5: 在完成循环并将 FizzBuzz 序列打印到用户定义的限制后,关闭 Scanner 对象以释放系统资源。 文件名:FizzBuzz.java 输出 Enter the number up to which you want to play FizzBuzz: 40 1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32 Fizz 34 Buzz Fizz 37 38 Fizz Buzz 不使用取模运算符步骤 1: 定义两个整数变量 fizzCount 和 buzzCount,并初始化为零。它们将分别跟踪 3 和 5 的倍数的计数。 步骤 2: 设置一个循环,该循环迭代从 1 到 40(或其他需要的上限)的整数。 对于每次迭代,将 fizzCount 和 buzzCount 都增加 1。这些计数器用于跟踪何时打印 "Fizz"、"Buzz" 或 "FizzBuzz"。 步骤 3:检查 3 和 5 的倍数的条件
步骤 4:检查 3 的倍数的条件
步骤 5:检查 5 的倍数的条件
步骤 5: 如果以上任一条件都不满足(当前数字既不是 3 的倍数也不是 5 的倍数),则按原样打印当前数字。 文件名:FizzBuzzNoMod.java 输出 1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32 Fizz 34 Buzz Fizz 37 38 Fizz Buzz |
Java 是一种强大的面向对象编程语言,为开发人员提供了广泛的工具和功能来构建健壮且可扩展的应用程序。使 Java 脱颖而出的特性之一是它对泛型的支持。泛型允许开发人员编写泛型类和...
阅读 4 分钟
在本节中,我们将学习自守数及其示例,并创建 Java 程序来检查数字是否为自守数。什么是自守数?如果一个数字的平方以该数字本身结尾,则称该数字为自守数。
阅读 3 分钟
?在 Java 编程的世界里,流已成为一种强大而通用的概念,用于以简洁高效的方式处理数据集合。流在 Java 8 中引入,它提供了一种函数式的方法来处理数据,使开发人员能够对...执行复杂的数据操作。
7 分钟阅读
正确嵌套括号是在计算机科学中,尤其是在数学方程、解释器和编译器中,一个常见的问题。如果保持适当的开闭括号序列,“正确嵌套”的括号集才算正确。问题陈述给定一个仅包含字符 ( 和...的字符串
7 分钟阅读
Java 是一种流行的编程语言,广泛用于开发各种类型的应用程序。许多应用程序中的常见任务之一是从日历中获取日期。在本节中,我们将探讨如何从日历中获取日期...
阅读 3 分钟
在编程领域,Java 因其多功能性和出色的功能而成为顶级竞争者。对其成功的一个重要贡献因素是方法,它们是所有 Java 程序员的基础。在本节中,我们将深入探讨使用...
阅读 4 分钟
在 Java 中,List 是一种线性数据结构,用于存储有序的数据集合。它也接受重复值,但保留插入顺序。有时,需要查找列表中的最小和最大元素、列表的总和和平均值,...
阅读 3 分钟
在 Java 中,单例模式和静态类用于控制实例创建和对类级别行为的访问,但它们的作用不同,并且具有不同的特性。单例模式 Java 中的单例模式是一种设计模式,它保证只有一个实例……
阅读 6 分钟
? 拦截器在软件开发中起着至关重要的作用,尤其是在框架和中间件的上下文中。在 Java 中,拦截器提供了一种强大的机制来拦截程序执行流中的方法调用或事件。它允许开发人员添加跨领域关注点,例如日志记录、身份验证和...
阅读 6 分钟
是组件的集合,即 JVM、JRE 和 JDK。它集成了解释和编译过程。它定义了创建 Java 程序所涉及的所有过程。它解释了程序被编译和执行的每一个步骤。
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India