Java: Find a number that appears only once in a given array of integers, all numbers occur twice
Single Occurrence Number
Write a Java program to find a number that appears only once in a given array of integers. All numbers occur twice.
Example: {10,2,38,23,38,23,21}
Output: 23
Pictorial Presentation:

Sample Solution:
Java Code:
import java.util.*;
public class Main {
public static void main(String[] args) {
// Define an array of integers
int nums[] = {10, 20, 10, 20, 30, 40, 40, 30, 50};
// Declare a variable to store the result
int result;
// Display the source array
System.out.println("Source Array : " + Arrays.toString(nums));
// Calculate and display the number that appears only once
result = getSingleNumber(nums);
System.out.println("\n" + result + " appears only once.");
}
public static int getSingleNumber(int[] nums) {
// Check if the array is null or empty
if (nums == null || nums.length == 0) {
return -1;
}
// Initialize the result to 0
int result = 0;
// Calculate the number that appears only once using XOR (^) operator
for (int i = 0; i < nums.length; i++) {
result ^= nums[i];
}
// Return the result
return result;
}
}
Sample Output:
Source Array : [10, 20, 10, 20, 30, 40, 40, 30, 50] 50 appears only once
Flowchart:

For more Practice: Solve these Related Problems:
- Modify the program to find two numbers that appear only once.
- Write a program to find the single number using XOR.
- Modify the program to find a unique number when all others appear thrice.
- Write a program to find the first non-repeating number in an array.
Java Code Editor:
Previous: Write a Java program to get the Postorder traversal of its nodes' values of a given a binary tree.
Next: Write a Java program to find the maximum depth of a given a binary tree
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics