List of logical programs in Java2025年5月2日 | 8 分钟阅读 主要基于形式逻辑的编程范式称为逻辑编程。面试官经常会问到逻辑 Java 程序,例如斐波那契数列、阿姆斯特朗数、素数和完全数等。逻辑程序是使用特定逻辑设计的,可以说程序中 70% 的代码都是逻辑的集合。 可能会问到以下逻辑程序 ![]()
让我们一个接一个地理解上述逻辑程序。 1) 斐波那契数列斐波那契数列是一种特殊的数列,其中下一项是前两项之和。例如,如果数列中的前两项是 0 和 1,那么下一项将是 1 (0+1)。 在 Java 中,我们可以使用递归或非递归的方式来编写斐波那契数列程序。让我们一一理解使用递归或非递归的斐波那契数列程序。 FibonacciWithoutRecursion.java 输出 ![]() FibonacciWithRecursion.java 输出 ![]() 2) 阿姆斯特朗数阿姆斯特朗数是一个特殊的正数,其各位数字立方之和等于该数本身。数字 153 是一个阿姆斯特朗数,因为如果我们计算其每个数字的立方之和,结果将与原数相同。 = 153 = (1)3+(5)3+(3)3 = 1+125+27 = 153 让我们理解检查数字是否为阿姆斯特朗数的逻辑。 ArmstrongNumber.java 输出 ![]() 3) 完全数与阿姆斯特朗数一样,完全数也是一种特殊的正数。当一个数等于其所有正因数(不包括该数本身)之和时,它被称为完全数。例如,28 是一个完全数,因为当我们计算 28 的所有因数(1、2、4、7 和 14)之和时,结果是 28。所以, 28 = 1+2+4+7 28 = 28 让我们理解检查数字是否为完全数的逻辑。 PerfectNumber.java 输出 ![]() 4) 素数与完全数和阿姆斯特朗数一样,素数也是一种特殊的数。当一个数大于 1,并且只能被 1 或它本身整除时,它被称为素数。0 和 1 不被计为素数。所有偶数都可以被 2 整除,所以 2 是唯一的偶素数。 让我们理解检查数字是否为素数的逻辑。 PrimeNumber.java 输出 ![]() 5) 数字的阶乘小于或等于给定正数的所以正整数的乘积称为该给定整数的阶乘。例如,数字 8 的阶乘可以通过将所有小于或等于 8 的整数相乘来计算,如下所示: = 8 = 8*7*6*5*4*3*2*1 = 40320 让我们理解计算数字阶乘的逻辑。 FactorialExample.java 输出 ![]() 6) 反转字符串反转字符串是面试官经常问到的另一个逻辑程序。我们可以使用StringBuilder/StringBuffer 或通过反向迭代来反转字符串。 让我们理解如何通过迭代或 StringBuilder/StringBuffer 来反转字符串的逻辑。 ReverseString.java 输出 ![]() 7) 反转数字就像字符串一样,反转数字的程序也经常被面试官问到。在 Java 中,我们可以通过使用for 循环、while 循环或使用递归来反转数字。反转数字的最简单方法是使用for 循环或while 循环。为了反转数字,我们需要遵循以下步骤:
让我们通过循环来理解反转数字的逻辑。 ReverseNumber.java 输出 ![]() 8) 回文数回文数是一种特殊的数字。当一个数字反转后,如果与原数相同,则称为回文数。可能存在一系列回文数。例如,121、232、34543、171 和 343 等。 让我们理解检查数字是否为回文数的逻辑。 PalindromeNumber.java 输出 ![]() 9) 回文串就像数字一样,字符串也可以是回文串。检查字符串的回文逻辑与检查数字不同。 让我们理解检查字符串回文的逻辑。 PalindromeString.java 输出 ![]() 10) 查找字符串中的重复字符。查找字符串中的重复字符是另一个经常被面试官问到的逻辑程序。我们可以查找字符串中的重复字符以及该字符的出现次数。 这个程序的逻辑有点棘手,因为有两个过程,即查找重复字符和该字符的出现次数。 让我们理解查找字符串中重复字符的逻辑。 DuplicateCharacters .java 输出 ![]() |
给定一个单链表的头节点和一个表示节点值子集的整数数组 G。任务是确定链表中仅包含 G 中值且互不连通的连通分量的数量。示例 1 输入:链表:0 -> 1 ->...
阅读 6 分钟
Java.nio.DoubleBuffer 具有 rewind() 函数。要重置此缓冲区,请使用 DoubleBuffer 类。如果之前标记了位置,它将被丢弃。此方法在保持限制的同时将位置重置为零。当需要执行多个通道写入时...
阅读 3 分钟
在本节中,我们将讨论如何在 Java 中显示二进制矩阵中的唯一行。在此问题中,给定一个二进制矩阵,我们需要识别并打印给定二进制矩阵的唯一行。示例 1:说明:在上面的输入中……
21 分钟阅读
我们给定一个二维布尔数组,其中每一行都按升序排序。我们的任务是找到具有最多 true 布尔值(也称为 1)的行,并返回该行的索引。示例 1:输入:1 0 1 1 1...
阅读 8 分钟
在 Java 中,ListNode 是用于高效实现链表的重要数据结构。链表是动态数据结构,由节点组成,每个节点包含一个值以及指向列表中下一个节点的引用。本文旨在提供...
5 分钟阅读
在 Java 中,我们通常需要将毫秒转换为不同格式的 Date,例如 dd MMM yyyy 和 dd MMM yyyy HH:mm:ss:SSS Z 等。Date 是 Java 中处理 Date 最重要的类之一。它在内部存储 Date...
阅读 4 分钟
在计算机科学的各种主题中,图论是其中最重要的主题之一,它包括表示事物之间成对关系的各种数据结构。图由节点或顶点以及它们之间的连接或边组成。这意味着,根据...
阅读 6 分钟
在使用线程安全的、可调整大小的数组时,多个线程可以执行插入和删除等操作,而不会有数据损坏的风险。虽然 ArrayList 是一个标准的 Java 类,但默认情况下它不是线程安全的。可以使用并发集合或同步...
阅读 6 分钟
哈希函数是一个键值映射函数。当两个或多个键通过这些哈希方法映射到相同值时,就会存在重复值。链式哈希的使用可以解决冲突。每个哈希表单元都应该指向条目链表…
阅读 6 分钟
引言:Java 中的泛型提供了一种强大的方法来提高类型安全性和代码重用性。此系统中的一个关键概念是泛型类型转换,它使程序员在保持类型安全的同时更改对象的类型。借助真实示例,我们将检查...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India