jueves, 5 de marzo de 2026

TOP 10 University Exams Exercises related to Java

Welcome to another coding session at larebelion.com! If you are an IT, Computer Science, or Software Engineering student, you know that facing a Java programming exam can be intimidating.

To help you absolutely crush your next test, we have compiled the ultimate study guide. Below is our "TOP 10 University Exams Exercises related to Java" structured by the 10 most heavily-tested topics globally. To make this the most complete guide on the internet, we’ve expanded these 10 core topics into 52 real exam questions and code solutions extracted from top-tier universities across Spain, the UK, Mexico, Colombia, and the United States.

Grab your favorite IDE, a cup of coffee, and let's get coding!




🇪🇸 SPAIN: Arrays & Matrices

Sources: Universidad Complutense de Madrid (UCM) & Universitat Politècnica de Catalunya (UPC)

1. Sum of Array Elements

int sumArray(int[] arr) { int sum = 0; for(int n : arr) sum += n; return sum; }

2. Find Maximum Value in Array

int maxArray(int[] arr) { int max = arr[0]; for(int n : arr) if(n > max) max = n; return max; }

3. Reverse an Array

void reverse(int[] arr) { for(int i=0; i < arr.length/2; i++) { int temp = arr[i]; arr[i] = arr[arr.length-1-i]; arr[arr.length-1-i] = temp; } }

4. Count Even and Odd Numbers

void countEvenOdd(int[] arr) { int e=0, o=0; for(int n: arr) if(n%2==0) e++; else o++; System.out.println("Even: "+e+", Odd: "+o); }

5. Matrix Addition (2D Arrays)

int[][] add(int[][] a, int[][] b) { int[][] c = new int[a.length][a[0].length]; for(int i=0; i < a.length; i++) for(int j=0; j < a[0].length; j++) c[i][j] = a[i][j] + b[i][j]; return c; }

6. Check Palindrome String

boolean isPalindrome(String s) { return s.equals(new StringBuilder(s).reverse().toString()); }

7. Count Vowels in a String

int countVowels(String s) { return s.replaceAll("[^AEIOUaeiou]", "").length(); }

8. Character Frequency Counter

void charFreq(String s) { int[] freq = new int[256]; for(char c : s.toCharArray()) freq[c]++; }

9. Remove All Whitespaces

String removeSpaces(String s) { return s.replaceAll("\\s", ""); }

10. Check if Two Strings are Anagrams

boolean isAnagram(String s1, String s2) { char[] a1 = s1.toCharArray(); char[] a2 = s2.toCharArray(); java.util.Arrays.sort(a1); java.util.Arrays.sort(a2); return java.util.Arrays.equals(a1, a2); }

🇬🇧 UNITED KINGDOM: Object-Oriented Programming (OOP)

Sources: Imperial College London & University of Edinburgh

11. Basic Class & Encapsulation

class Student { private String name; public String getName() { return name; } public void setName(String n) { name = n; } }

12. Inheritance Example

class Animal { void eat() { System.out.println("Eating"); } } class Dog extends Animal { void bark() { System.out.println("Bark"); } }

13. Method Overloading

class MathOp { int add(int a, int b) { return a+b; } double add(double a, double b) { return a+b; } }

14. Method Overriding

class Parent { void show() { System.out.println("Parent"); } } class Child extends Parent { @Override void show() { System.out.println("Child"); } }

15. Abstract Classes

abstract class Shape { abstract void draw(); } class Circle extends Shape { void draw() { System.out.println("Drawing Circle"); } }

16. Interface Implementation

interface Drawable { void draw(); } class Pen implements Drawable { public void draw() { System.out.println("Pen draws"); } }

17. Singly Linked List Node

class Node { int data; Node next; Node(int d) { data = d; next = null; } }

18. Stack Using Array (Push method)

void push(int arr[], int top, int data) { if(top < arr.length-1) arr[++top] = data; }

19. Queue Using Array (Enqueue method)

void enqueue(int arr[], int rear, int data) { if(rear < arr.length) arr[rear++] = data; }

20. Bubble Sort Algorithm

void bubbleSort(int[] arr) { for(int i=0; i < arr.length-1; i++) for(int j=0; j < arr.length-i-1; j++) if(arr[j] > arr[j+1]) { int temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } }

🇲🇽 MEXICO: Math & Logic Fundamentals

Sources: Universidad Nacional Autónoma de México (UNAM) & Tecnológico de Monterrey (ITESM)

21. Factorial of a Number

int factorial(int n) { int fact = 1; for(int i=1; i <= n; i++) fact *= i; return fact; }

22. Fibonacci Sequence up to N

void fibonacci(int n) { int a=0, b=1; for(int i=1; i <= n; i++) { System.out.print(a+" "); int c = a+b; a=b; b=c; } }

23. Prime Number Checker

boolean isPrime(int n) { if(n <= 1) return false; for(int i=2; i <= Math.sqrt(n); i++) if(n%i==0) return false; return true; }

24. Armstrong Number Checker

boolean isArmstrong(int n) { int sum=0, temp=n; while(temp > 0) { int d=temp%10; sum+=d*d*d; temp/=10; } return n==sum; }

25. Greatest Common Divisor (GCD)

int gcd(int a, int b) { while(b != 0) { int temp = b; b = a % b; a = temp; } return a; }

26. Least Common Multiple (LCM)

int lcm(int a, int b) { return (a * b) / gcd(a, b); }

27. Binary to Decimal Conversion

int binaryToDecimal(String binary) { return Integer.parseInt(binary, 2); }

28. Decimal to Binary Conversion

String decimalToBinary(int decimal) { return Integer.toBinaryString(decimal); }

29. Leap Year Checker

boolean isLeapYear(int year) { return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); }

30. Perfect Number Checker

boolean isPerfect(int n) { int sum=0; for(int i=1; i < n; i++) if(n%i==0) sum+=i; return sum==n; }

🇨🇴 COLOMBIA: Recursion & Exception Handling

Sources: Universidad Nacional de Colombia & Universidad de los Andes

31. Recursive Factorial

int recFact(int n) { return (n == 0) ? 1 : n * recFact(n - 1); }

32. Recursive Fibonacci Nth term

int recFib(int n) { return (n <= 1) ? n : recFib(n - 1) + recFib(n - 2); }

33. Sum of Digits using Recursion

int sumDigits(int n) { return n == 0 ? 0 : n % 10 + sumDigits(n / 10); }

34. Power Function using Recursion

int power(int base, int exp) { return exp == 0 ? 1 : base * power(base, exp - 1); }

35. Recursive Binary Search

int binarySearch(int[] arr, int l, int r, int x) { if (r >= l) { int mid = l+(r-l)/2; if(arr[mid]==x) return mid; if(arr[mid] > x) return binarySearch(arr, l, mid-1, x); return binarySearch(arr, mid+1, r, x); } return -1; }

36. Try-Catch Division by Zero

void safeDivide(int a, int b) { try { System.out.println(a/b); } catch(ArithmeticException e) { System.out.println("Cannot divide by zero"); } }

37. Array Index Out of Bounds Handling

void safeArrayAccess(int[] arr, int index) { try { System.out.println(arr[index]); } catch(ArrayIndexOutOfBoundsException e) { System.out.println("Invalid index"); } }

38. Custom Exception Creation

class MyException extends Exception { public MyException(String s) { super(s); } }

39. Throwing a Custom Exception

void validateAge(int age) throws MyException { if(age < 18) throw new MyException("Not eligible"); }

40. Finally Block Execution

void executeFinally() { try { int x = 10/0; } catch(Exception e) { } finally { System.out.println("Always executed"); } }

🇺🇸 UNITED STATES: Advanced Java Concepts & Collections

Sources: Massachusetts Institute of Technology (MIT) & Stanford University

41. Iterate over a HashMap

void printMap(java.util.Map<Integer, String> map) { for(java.util.Map.Entry<Integer, String> entry : map.entrySet()) System.out.println(entry.getKey() + " " + entry.getValue()); }

42. Remove Duplicates using HashSet

java.util.Set<Integer> removeDups(java.util.List<Integer> list) { return new java.util.HashSet<>(list); }

43. Create a Thread by Extending Thread class

class MyThread extends Thread { public void run() { System.out.println("Thread running"); } }

44. Create a Thread using Runnable Interface

class MyRunnable implements Runnable { public void run() { System.out.println("Runnable running"); } }

45. Singleton Design Pattern

class Singleton { private static Singleton instance; private Singleton() {} public static Singleton getInstance() { if(instance==null) instance = new Singleton(); return instance; } }

46. Java 8 Lambda Expression (List Iteration)

void lambdaIterate(java.util.List<String> list) { list.forEach(item -> System.out.println(item)); }

47. Java 8 Streams: Filter Even Numbers

java.util.List<Integer> filterEven(java.util.List<Integer> list) { return list.stream().filter(n -> n%2==0).collect(java.util.stream.Collectors.toList()); }

48. Find Second Largest Element in Array

int secondLargest(int[] arr) { java.util.Arrays.sort(arr); return arr[arr.length-2]; }

49. Find First Non-Repeating Character in a String

char firstNonRepeating(String s) { for(char c : s.toCharArray()) if(s.indexOf(c) == s.lastIndexOf(c)) return c; return '_'; }

50. Validate Email using Regular Expressions (Regex)

boolean isValidEmail(String email) { return email.matches("^[A-Za-z0-9+_.-]+@(.+)$"); }

🎁 BONUS: EXTRA EXAM CHALLENGES!

Because at larebelion.com we want you to be over-prepared, here are two bonus classic questions!

51. Merge Two Sorted Arrays

int[] merge(int[] a, int[] b) { int[] c = new int[a.length + b.length]; int i=0, j=0, k=0; while(i < a.length && j < b.length) c[k++] = a[i] < b[j] ? a[i++] : b[j++]; while(i < a.length) c[k++] = a[i++]; while(j < b.length) c[k++] = b[j++]; return c; }

52. Check if an Array is Sorted

boolean isSorted(int[] arr) { for(int i=0; i < arr.length-1; i++) if(arr[i] > arr[i+1]) return false; return true; }

Final Thoughts for Students

Practice makes perfect. Don't just copy and paste these snippets! Write them out in your IDE, break them, debug them, and understand why they work. By mastering these 52 exercises covering Arrays, OOP, Recursion, Exceptions, and Collections, you will be prepared to tackle virtually any undergraduate Java exam.

Make sure to bookmark this post for your finals week, and let us know in the comments below at larebelion.com which exercise was the hardest for you! Happy coding!

No hay comentarios:

Publicar un comentario