Java Programs Reference
25 Essential Programs — Numbers, Arrays, Strings & Logic
Contents
Numbers (Programs 1–7)
1. Check Prime Number
2. Armstrong Number
3. Palindrome Number
4. Fibonacci Series
5. Factorial
6. Strong Number
7. Perfect Number
Arrays (Programs 8–15)
8. Find Largest Element
9. Find Second Largest
10. Find Missing Number
11. Remove Duplicates
12. Pair With Given Sum
13. Frequency of Elements
14. Find Odd Occurring Element
15. Rotate Array
Strings (Programs 16–20)
16. Reverse String
17. Palindrome String
18. Count Vowels and Consonants
19. Remove Duplicate Characters
20. Most Frequent Character
Logic Based (Programs 21–25)
21. Convert Uppercase / Lowercase
22. Swap Two Numbers Without Temp
23. Sum of Digits
24. Reverse Digits of Number
25. Check Vowel or Consonant
To run any program: save as [Link] → javac [Link] → java FileName
Numbers
1.
Check Prime Number
import [Link]; public class PrimeNumber { public static void main(String[] args) { Scanner
sc = new Scanner([Link]); [Link]("Enter a number: "); int n = [Link](); boolean
isPrime = n > 1; for (int i = 2; i <= [Link](n); i++) { if (n % i == 0) { isPrime = false; break; }
} [Link](n + (isPrime ? " is Prime" : " is Not Prime")); } }
2.
Armstrong Number
import [Link]; public class Armstrong { public static void main(String[] args) { Scanner sc
= new Scanner([Link]); [Link]("Enter a number: "); int n = [Link](), temp = n, digits
= [Link](n).length(), sum = 0; while (temp != 0) { int d = temp % 10; sum += (int) [Link](d,
digits); temp /= 10; } [Link](n + (sum == n ? " is Armstrong" : " is Not Armstrong")); } }
3.
Palindrome Number
import [Link]; public class PalindromeNumber { public static void main(String[] args) {
Scanner sc = new Scanner([Link]); [Link]("Enter a number: "); int n = [Link](), temp
= n, rev = 0; while (temp != 0) { rev = rev * 10 + temp % 10; temp /= 10; } [Link](n + (n
== rev ? " is Palindrome" : " is Not Palindrome")); } }
4.
Fibonacci Series
import [Link]; public class Fibonacci { public static void main(String[] args) { Scanner sc
= new Scanner([Link]); [Link]("Enter count of terms: "); int n = [Link](); int a = 0,
b = 1; [Link]("Fibonacci: " + a + " " + b); for (int i = 2; i < n; i++) { int c = a + b;
[Link](" " + c); a = b; b = c; } [Link](); } }
5.
Factorial
import [Link]; public class Factorial { public static void main(String[] args) { Scanner sc
= new Scanner([Link]); [Link]("Enter a number: "); int n = [Link](); long fact = 1;
for (int i = 1; i <= n; i++) fact *= i; [Link](n + "! = " + fact); } }
6.
Strong Number
import [Link]; public class StrongNumber { static int factorial(int n) { int f = 1; for
(int i = 1; i <= n; i++) f *= i; return f; } public static void main(String[] args) { Scanner sc = new
Scanner([Link]); [Link]("Enter a number: "); int n = [Link](), temp = n, sum = 0;
while (temp != 0) { sum += factorial(temp % 10); temp /= 10; } [Link](n + (sum == n ? " is
Strong Number" : " is Not Strong Number")); } }
7.
Perfect Number
import [Link]; public class PerfectNumber { public static void main(String[] args) {
Scanner sc = new Scanner([Link]); [Link]("Enter a number: "); int n = [Link](), sum =
0; for (int i = 1; i < n; i++) if (n % i == 0) sum += i; [Link](n + (sum == n ? " is
Perfect Number" : " is Not Perfect Number")); } }
Arrays
8.
Find Largest Element
import [Link]; public class LargestElement { public static void main(String[] args) {
Scanner sc = new Scanner([Link]); [Link]("Enter array size: "); int n = [Link]();
int[] arr = new int[n]; for (int i = 0; i < n; i++) arr[i] = [Link](); int max = arr[0]; for (int x
: arr) if (x > max) max = x; [Link]("Largest: " + max); } }
9.
Find Second Largest
import [Link]; public class SecondLargest { public static void main(String[] args) {
Scanner sc = new Scanner([Link]); [Link]("Enter array size: "); int n = [Link]();
int[] arr = new int[n]; for (int i = 0; i < n; i++) arr[i] = [Link](); int first =
Integer.MIN_VALUE, second = Integer.MIN_VALUE; for (int x : arr) { if (x > first) { second = first;
first = x; } else if (x > second && x != first) second = x; } [Link]("Second Largest: " +
second); } }
10.
Find Missing Number
import [Link]; public class MissingNumber { public static void main(String[] args) {
Scanner sc = new Scanner([Link]); [Link]("Enter n (range 1 to n): "); int n =
[Link](); int expected = n * (n + 1) / 2, actual = 0; [Link]("Enter " + (n - 1) + "
numbers:"); for (int i = 0; i < n - 1; i++) actual += [Link](); [Link]("Missing
Number: " + (expected - actual)); } }
11.
Remove Duplicates
import [Link].*; public class RemoveDuplicates { public static void main(String[] args) { Scanner
sc = new Scanner([Link]); [Link]("Enter array size: "); int n = [Link](); int[] arr =
new int[n]; for (int i = 0; i < n; i++) arr[i] = [Link](); LinkedHashSet<Integer> set = new
LinkedHashSet<>(); for (int x : arr) [Link](x); [Link]("After removing duplicates: " +
set); } }
12.
Pair With Given Sum
import [Link].*; public class PairWithSum { public static void main(String[] args) { Scanner sc =
new Scanner([Link]); [Link]("Enter array size: "); int n = [Link](); int[] arr = new
int[n]; for (int i = 0; i < n; i++) arr[i] = [Link](); [Link]("Enter target sum: "); int
target = [Link](); Set<Integer> seen = new HashSet<>(); boolean found = false; for (int x : arr) {
if ([Link](target - x)) { [Link]("Pair: (" + (target - x) + ", " + x + ")"); found =
true; } [Link](x); } if (!found) [Link]("No pair found."); } }
13.
Frequency of Elements
import [Link].*; public class Frequency { public static void main(String[] args) { Scanner sc = new
Scanner([Link]); [Link]("Enter array size: "); int n = [Link](); int[] arr = new
int[n]; for (int i = 0; i < n; i++) arr[i] = [Link](); Map<Integer, Integer> freq = new
LinkedHashMap<>(); for (int x : arr) [Link](x, [Link](x, 0) + 1);
[Link]("Element : Frequency"); [Link]((k, v) -> [Link](k + " : " + v));
} }
14.
Find Odd Occurring Element
import [Link]; public class OddOccurring { public static void main(String[] args) { Scanner
sc = new Scanner([Link]); [Link]("Enter array size: "); int n = [Link](); int xor =
0; for (int i = 0; i < n; i++) xor ^= [Link](); [Link]("Odd occurring element: " +
xor); } }
15.
Rotate Array
import [Link]; public class RotateArray { public static void main(String[] args) { Scanner
sc = new Scanner([Link]); [Link]("Enter array size: "); int n = [Link](); int[] arr =
new int[n]; for (int i = 0; i < n; i++) arr[i] = [Link](); [Link]("Rotate by positions:
"); int k = (([Link]() % n) + n) % n; int[] result = new int[n]; for (int i = 0; i < n; i++)
result[i] = arr[(i + k) % n]; [Link]("Rotated Array: "); for (int x : result)
[Link](x + " "); [Link](); } }
Strings
16.
Reverse String
import [Link]; public class ReverseString { public static void main(String[] args) {
Scanner sc = new Scanner([Link]); [Link]("Enter a string: "); String s = [Link]();
[Link]("Reversed: " + new StringBuilder(s).reverse()); } }
17.
Palindrome String
import [Link]; public class PalindromeString { public static void main(String[] args) {
Scanner sc = new Scanner([Link]); [Link]("Enter a string: "); String s =
[Link]().toLowerCase(); String rev = new StringBuilder(s).reverse().toString();
[Link](s + ([Link](rev) ? " is Palindrome" : " is Not Palindrome")); } }
18.
Count Vowels and Consonants
import [Link]; public class VowelConsonantCount { public static void main(String[] args) {
Scanner sc = new Scanner([Link]); [Link]("Enter a string: "); String s =
[Link]().toLowerCase(); int vowels = 0, consonants = 0; for (char c : [Link]()) { if
([Link](c)) { if ("aeiou".indexOf(c) >= 0) vowels++; else consonants++; } }
[Link]("Vowels: " + vowels + ", Consonants: " + consonants); } }
19.
Remove Duplicate Characters
import [Link].*; public class RemoveDuplicateChars { public static void main(String[] args) {
Scanner sc = new Scanner([Link]); [Link]("Enter a string: "); String s = [Link]();
LinkedHashSet<Character> seen = new LinkedHashSet<>(); StringBuilder result = new StringBuilder(); for
(char c : [Link]()) { if ([Link](c)) [Link](c); } [Link]("After removing
duplicates: " + result); } }
20.
Most Frequent Character
import [Link].*; public class MostFrequentChar { public static void main(String[] args) { Scanner
sc = new Scanner([Link]); [Link]("Enter a string: "); String s = [Link]();
Map<Character, Integer> freq = new LinkedHashMap<>(); for (char c : [Link]()) [Link](c,
[Link](c, 0) + 1); char maxChar = ' '; int maxCount = 0; for ([Link]<Character, Integer>
e : [Link]()) { if ([Link]() > maxCount) { maxChar = [Link](); maxCount = [Link](); }
} [Link]("Most frequent: '" + maxChar + "' (" + maxCount + " times)"); } }
Logic Based
21.
Convert Uppercase / Lowercase
import [Link]; public class CaseConverter { public static void main(String[] args) {
Scanner sc = new Scanner([Link]); [Link]("Enter a string: "); String s = [Link]();
[Link]("Uppercase: " + [Link]()); [Link]("Lowercase: " +
[Link]()); } }
22.
Swap Two Numbers Without Temp
import [Link]; public class SwapWithoutTemp { public static void main(String[] args) {
Scanner sc = new Scanner([Link]); [Link]("Enter a: "); int a = [Link]();
[Link]("Enter b: "); int b = [Link](); a = a + b; b = a - b; a = a - b;
[Link]("After swap -> a: " + a + ", b: " + b); } }
23.
Sum of Digits
import [Link]; public class SumOfDigits { public static void main(String[] args) { Scanner
sc = new Scanner([Link]); [Link]("Enter a number: "); int n = [Link]([Link]()), sum
= 0; while (n != 0) { sum += n % 10; n /= 10; } [Link]("Sum of digits: " + sum); } }
24.
Reverse Digits of Number
import [Link]; public class ReverseDigits { public static void main(String[] args) {
Scanner sc = new Scanner([Link]); [Link]("Enter a number: "); int n = [Link](), rev =
0, sign = n < 0 ? -1 : 1; n = [Link](n); while (n != 0) { rev = rev * 10 + n % 10; n /= 10; }
[Link]("Reversed: " + (sign * rev)); } }
25.
Check Vowel or Consonant
import [Link]; public class VowelOrConsonant { public static void main(String[] args) {
Scanner sc = new Scanner([Link]); [Link]("Enter a character: "); char c =
[Link]().toLowerCase().charAt(0); if () [Link]("Not a letter.");
else if ("aeiou".indexOf(c) >= 0) [Link](c + " is a Vowel"); else [Link](c + "
is a Consonant"); } }