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