Write a method called consecutive that accepts three integers as parameters and returns true if they are three consecutive numbers—that is, if the numbers can be arranged into an order such that, assuming some integer k, the parameters’ values are k, k + 1, and k + 2. Your method should return false if the integers are not consecutive. Note that order is not significant; your method should return the same result for the same three integers passed in any order.
For example, the calls consecutive(1, 2, 3), consecutive(3, 2, 4), and consecutive(–10, –8, –9) would return true. The calls consecutive(3, 5, 7), consecutive(1, 2, 2), and consecutive(7, 7, 9) would return false.
// package indefinite_loops;
import java.util.Arrays;
public class Consecutive {
public boolean consecutive(int a, int b, int c) {
// push these vales in an array
int numbers[] = new int[3];
numbers[0] = a;
numbers[1] = b;
numbers[2] = c;
// sort them
Arrays.sort(numbers);
boolean flag = true;
// compare them through loop if their difference is one
for (int i = 1; i < numbers.length; i++) {
if (numbers[i] != numbers[i - 1] + 1) {
flag = false;
}
}
return flag;
}
public static void main(String[] args) {
Consecutive con = new Consecutive();
// call the method
boolean areValuesConsecutive = con.consecutive(5, 7, 6);
System.out.println("are the values are consecutive: " +areValuesConsecutive);
}
}
Output:
are the values are consecutive: true