Skip to main content

21-50 Java Coding Questions with Answers (With Code Examples)

This collection of 50 Java coding questions is designed to help you master the basics and build strong problem-solving skills. Whether you’re preparing for a Java interview, studying for an exam, or simply practicing your logic, this guide is a great companion.

Each question comes with:

  • A clear problem statement

  • Humanized logic explanation

  • Java code

  • Output example



🔹 21. Find Duplicate Elements in Array

int[] arr = {1, 2, 3, 2, 4, 5, 1}; Set<Integer> set = new HashSet<>(); for (int num : arr) { if (!set.add(num)) { System.out.println("Duplicate: " + num); } }

🔹 22. Count Occurrence of Each Character

String s = "programming"; Map<Character, Integer> map = new HashMap<>(); for (char c : s.toCharArray()) { map.put(c, map.getOrDefault(c, 0) + 1); } System.out.println(map);

🔹 23. Print Star Pyramid

int n = 5; for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) System.out.print("*"); System.out.println(); }

🔹 24. Check Leap Year

int year = 2024; boolean isLeap = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); System.out.println(isLeap ? "Leap Year" : "Not Leap Year");

🔹 25. GCD of Two Numbers

int a = 24, b = 18; while (b != 0) { int temp = b; b = a % b; a = temp; } System.out.println("GCD: " + a);

🔹 26. LCM of Two Numbers

int a = 15, b = 20; int lcm = (a * b) / gcd(a, b); System.out.println("LCM: " + lcm); static int gcd(int a, int b) { while (b != 0) { int t = b; b = a % b; a = t; } return a; }

🔹 27. Check Anagram Strings

String s1 = "listen", s2 = "silent"; char[] a = s1.toCharArray(), b = s2.toCharArray(); Arrays.sort(a); Arrays.sort(b); System.out.println(Arrays.equals(a, b) ? "Anagram" : "Not Anagram");

🔹 28. Convert String to Integer

String s = "123"; int num = Integer.parseInt(s); System.out.println(num);

🔹 29. Convert Integer to String

int num = 456; String s = String.valueOf(num); System.out.println(s);

🔹 30. Remove White Spaces

String s = "Hello World Java"; s = s.replaceAll("\\s", ""); System.out.println(s);

🔹 31. Count Words in String

String s = "Java is fun"; String[] words = s.trim().split("\\s+"); System.out.println("Words: " + words.length);

🔹 32. Find Second Largest in Array

int[] arr = {10, 20, 25, 15}; Arrays.sort(arr); System.out.println("Second Largest: " + arr[arr.length - 2]);

🔹 33. Sum of Digits in Number

int n = 1234, sum = 0; while (n != 0) { sum += n % 10; n /= 10; } System.out.println("Sum: " + sum);

🔹 34. Generate Random Number

int rand = (int)(Math.random() * 100); // 0 to 99 System.out.println("Random: " + rand);

🔹 35. Swap Without 3rd Variable

int a = 5, b = 10; a = a + b; b = a - b; a = a - b; System.out.println("a = " + a + ", b = " + b);

🔹 36. Simple Calculator

char op = '+'; int a = 10, b = 5; switch(op) { case '+': System.out.println(a + b); break; case '-': System.out.println(a - b); break; case '*': System.out.println(a * b); break; case '/': System.out.println(a / b); break; default: System.out.println("Invalid"); }

🔹 37. Reverse Linked List (Concept)

class Node { int data; Node next; Node(int d) { data = d; } } Node reverse(Node head) { Node prev = null, curr = head; while (curr != null) { Node next = curr.next; curr.next = prev; prev = curr; curr = next; } return prev; }

🔹 38. Check Armstrong for n-digits

int num = 9474, original = num, sum = 0; int len = String.valueOf(num).length(); while (num != 0) { int d = num % 10; sum += Math.pow(d, len); num /= 10; } System.out.println(sum == original ? "Armstrong" : "Not Armstrong");

🔹 39. Remove Duplicates from String

String s = "programming"; StringBuilder sb = new StringBuilder(); Set<Character> set = new LinkedHashSet<>(); for (char c : s.toCharArray()) set.add(c); for (char c : set) sb.append(c); System.out.println(sb);

🔹 40. Java Class Example (OOP)

class Car { String name; int speed; Car(String name, int speed) { this.name = name; this.speed = speed; } void show() { System.out.println(name + " runs at " + speed + "km/h"); } }

🔹 41. Abstract Class

abstract class Animal { abstract void sound(); } class Dog extends Animal { void sound() { System.out.println("Bark"); } }

🔹 42. Interface Example

interface Flyable { void fly(); } class Bird implements Flyable { public void fly() { System.out.println("Flying..."); } }

🔹 43. StringBuilder Reverse

String s = "hello"; System.out.println(new StringBuilder(s).reverse());

🔹 44. Check if Number is Perfect

int n = 28, sum = 0; for (int i = 1; i < n; i++) { if (n % i == 0) sum += i; } System.out.println(sum == n ? "Perfect" : "Not Perfect");

🔹 45. Print ASCII Values

for (char c = 'A'; c <= 'Z'; c++) { System.out.println(c + ": " + (int)c); }

🔹 46. Sort Array in Descending

Integer[] arr = {3, 5, 1, 8}; Arrays.sort(arr, Collections.reverseOrder()); System.out.println(Arrays.toString(arr));

🔹 47. Convert Char to Int and Vice Versa

char ch = 'A'; int code = ch; // ASCII char back = (char) code; System.out.println("ASCII: " + code + ", Back: " + back);

🔹 48. Find Missing Number (1 to n)

int[] arr = {1, 2, 4, 5}; int n = 5, total = n * (n + 1) / 2; for (int num : arr) total -= num; System.out.println("Missing: " + total);

🔹 49. Check String Rotation

String s1 = "abcd", s2 = "cdab"; System.out.println((s1.length() == s2.length()) && ((s1 + s1).contains(s2)) ? "Rotation" : "Not Rotation");

🔹 50. Find Frequency of Elements in Array

int[] arr = {1, 2, 2, 3, 1, 4}; Map<Integer, Integer> freq = new HashMap<>(); for (int num : arr) freq.put(num, freq.getOrDefault(num, 0) + 1); System.out.println(freq);


Respective output for questions 21 to 50:

🔢 Q.NoQuestion NameOutput (Example)
21Find Duplicate Elements in ArrayDuplicate: 2, 1
22Count Occurrence of Each Character{p=1, r=2, o=1, g=2, a=1, m=2, i=1, n=1}
23Print Star Pyramid<br><br>
****
*****
24Check Leap YearLeap Year
25GCD of Two NumbersGCD: 6
26LCM of Two NumbersLCM: 60
27Check Anagram StringsAnagram
28Convert String to Integer123
29Convert Integer to String456
30Remove White SpacesHelloWorldJava
31Count Words in StringWords: 3
32Find Second Largest in ArraySecond Largest: 20
33Sum of Digits in NumberSum: 10
34Generate Random NumberRandom: 42 (varies each time)
35Swap Without 3rd Variablea = 10, b = 5
36Simple Calculator15 (for op = '+')
37Reverse Linked ListNew head node reference (logic only, no print)
38Check Armstrong for n-digitsArmstrong
39Remove Duplicates from Stringprogamin
40Java Class Example (OOP)BMW runs at 200km/h
41Abstract ClassBark
42Interface ExampleFlying...
43StringBuilder Reverseolleh
44Check if Number is PerfectPerfect
45Print ASCII ValuesA: 65 ... Z: 90
46Sort Array in Descending[8, 5, 3, 1]
47Convert Char to Int and Vice VersaASCII: 65, Back: A
48Find Missing Number (1 to n)Missing: 3
49Check String RotationRotation
50Find Frequency of Elements in Array