List of logical programs in Java

2025年5月2日 | 8 分钟阅读

主要基于形式逻辑的编程范式称为逻辑编程。面试官经常会问到逻辑 Java 程序,例如斐波那契数列、阿姆斯特朗数、素数完全数等。逻辑程序是使用特定逻辑设计的,可以说程序中 70% 的代码都是逻辑的集合。

可能会问到以下逻辑程序

List of logical programs in Java
  1. 斐波那契数列。
  2. 阿姆斯特朗数。
  3. 完全数。
  4. 素数。
  5. 数字的阶乘。
  6. 反转字符串。
  7. 反转数字。
  8. 回文数
  9. 回文串。
  10. 查找字符串中的重复字符。

让我们一个接一个地理解上述逻辑程序。

1) 斐波那契数列

斐波那契数列是一种特殊的数列,其中下一项是前两项之和。例如,如果数列中的前两项是 0 和 1,那么下一项将是 1 (0+1)。

Java 中,我们可以使用递归或非递归的方式来编写斐波那契数列程序。让我们一一理解使用递归或非递归的斐波那契数列程序。

FibonacciWithoutRecursion.java

输出

List of logical programs in Java

FibonacciWithRecursion.java

输出

List of logical programs in Java

2) 阿姆斯特朗数

阿姆斯特朗数是一个特殊的正数,其各位数字立方之和等于该数本身。数字 153 是一个阿姆斯特朗数,因为如果我们计算其每个数字的立方之和,结果将与原数相同。

= 153

= (1)3+(5)3+(3)3

= 1+125+27

= 153

让我们理解检查数字是否为阿姆斯特朗数的逻辑。

ArmstrongNumber.java

输出

List of logical programs in Java

3) 完全数

与阿姆斯特朗数一样,完全数也是一种特殊的正数。当一个数等于其所有正因数(不包括该数本身)之和时,它被称为完全数。例如,28 是一个完全数,因为当我们计算 28 的所有因数(1、2、4、7 和 14)之和时,结果是 28。所以,

28 = 1+2+4+7

28 = 28

让我们理解检查数字是否为完全数的逻辑。

PerfectNumber.java

输出

List of logical programs in Java

4) 素数

完全数阿姆斯特朗数一样,素数也是一种特殊的数。当一个数大于 1,并且只能被 1 或它本身整除时,它被称为素数。0 和 1 不被计为素数。所有偶数都可以被 2 整除,所以 2 是唯一的偶素数。

让我们理解检查数字是否为素数的逻辑。

PrimeNumber.java

输出

List of logical programs in Java

5) 数字的阶乘

小于或等于给定正数的所以正整数的乘积称为该给定整数的阶乘。例如,数字 8 的阶乘可以通过将所有小于或等于 8 的整数相乘来计算,如下所示:

= 8

= 8*7*6*5*4*3*2*1

= 40320

让我们理解计算数字阶乘的逻辑。

FactorialExample.java

输出

List of logical programs in Java

6) 反转字符串

反转字符串是面试官经常问到的另一个逻辑程序。我们可以使用StringBuilder/StringBuffer 或通过反向迭代来反转字符串。

让我们理解如何通过迭代或 StringBuilder/StringBuffer 来反转字符串的逻辑。

ReverseString.java

输出

List of logical programs in Java

7) 反转数字

就像字符串一样,反转数字的程序也经常被面试官问到。在 Java 中,我们可以通过使用for 循环、while 循环或使用递归反转数字。反转数字的最简单方法是使用for 循环while 循环。为了反转数字,我们需要遵循以下步骤:

  • 我们需要使用模运算计算数字的余数。
  • 之后,我们需要将变量 reverse 乘以 10,并将余数加到其中。
  • 然后我们将数字除以 10,并重复步骤直到数字变为 0。

让我们通过循环来理解反转数字的逻辑。

ReverseNumber.java

输出

List of logical programs in Java

8) 回文数

回文数是一种特殊的数字。当一个数字反转后,如果与原数相同,则称为回文数。可能存在一系列回文数。例如,121、232、34543、171 和 343 等。

让我们理解检查数字是否为回文数的逻辑。

PalindromeNumber.java

输出

List of logical programs in Java

9) 回文串

就像数字一样,字符串也可以是回文串。检查字符串的回文逻辑与检查数字不同。

让我们理解检查字符串回文的逻辑。

PalindromeString.java

输出

List of logical programs in Java

10) 查找字符串中的重复字符。

查找字符串中的重复字符是另一个经常被面试官问到的逻辑程序。我们可以查找字符串中的重复字符以及该字符的出现次数。

这个程序的逻辑有点棘手,因为有两个过程,即查找重复字符和该字符的出现次数。

让我们理解查找字符串中重复字符的逻辑。

DuplicateCharacters .java

输出

List of logical programs in Java