Java: Consecutive Numbers in an array
Java Array: Exercise-76 with Solution
Write a Java program to determine whether numbers in an array can be rearranged so that each number appears exactly once in a consecutive list of numbers. Return true otherwise false.
Sample Data:
{1, 2 ,5, 0, 4, 3, 6} -> true
{1, 2 ,5, 0, 3, 6, 7} ->false
Pictorial Presentation:
Sample Solution-1:
Java Code:
// Import necessary Java classes.
import java.util.Scanner;
import java.util.Arrays;
// Define the 'Main' class.
public class Main {
// Define the main method for running the program.
public static void main(String[] args) {
// Initialize an array of numbers.
int[] nums = {1, 2 ,5, 0, 4, 3, 6};
// int[] nums = {1, 2 ,5, 0, 3, 6, 7};
System.out.printf("\nOriginal array: " + Arrays.toString(nums));
// Call the 'test' method to check for consecutive numbers in the array.
boolean result = test(nums);
System.out.printf("\nCheck consecutive numbers in the said array! " + result);
}
// Define the 'test' method to check for consecutive numbers in the array.
public static boolean test(int[] nums) {
// Sort the 'nums' array in ascending order.
Arrays.sort(nums);
for (int i = 0; i < nums.length - 1; i++) {
// Check if the current number and the next number are consecutive.
if (nums[i] + 1 != nums[i + 1])
return false;
}
return true;
}
}
Sample Output:
Original array: [1, 2, 5, 0, 4, 3, 6] Check consecutive numbers in the said array!true
Flowchart:
Sample Solution-2:
Java Code:
// Import necessary Java classes.
import java.util.Scanner;
import java.util.Arrays;
// Define the 'Main' class.
public class Main {
// Define the main method for running the program.
public static void main(String[] args) {
// Initialize an array of numbers.
int[] nums = {1, 2 ,5, 0, 3, 6, 7};
// int[] nums = {1, 2 ,5, 0, 4, 3, 6};
System.out.printf("\nOriginal array: " + Arrays.toString(nums));
// Call the 'test' method to check for consecutive numbers in the array.
boolean result = test(nums);
System.out.printf("\nCheck consecutive numbers in the said array! " + result);
}
// Define the 'test' method to check for consecutive numbers in the array.
public static boolean test(int[] nums) {
// Sort the 'nums' array in ascending order.
Arrays.sort(nums);
// Check if the last number in the sorted array is equal to the first number plus the array length minus 1.
return nums[nums.length - 1] == (nums[0] + nums.length - 1);
}
}
Sample Output:
Original array: [1, 2, 5, 0, 3, 6, 7] Check consecutive numbers in the said array!false
Flowchart:
Java Code Editor:
Previous Java Exercise: Largest gap between sorted elements of an array.
Next Java Exercise: Positive and negative values alternate in an array
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/java-exercises/array/java-array-exercise-76.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics