Напишите метод с именем последовательный, который принимает три целых числа в качестве параметров и возвращает true, если они представляют собой три последовательных числа; то есть, если числа могут быть упорядочены в такой порядок, что существует некоторое целое число k такое, что значения параметров k, k + 1 и k + 2. Ваш метод должен возвращать значение false, если целые числа не являются последовательными. Обратите внимание, что порядок не имеет значения; ваш метод должен возвращать тот же результат для тех же трех целых чисел, переданных в любом порядке. Например, последовательные вызовы (1, 2, 3), последовательные (3, 2, 4) и последовательные (-10, -8, -9) возвращают значение true. Последовательные вызовы (3, 5, 7), последовательные (1, 2, 2) и последовательные (7, 7, 9) возвращают false.Логический метод для определения последовательных чисел
Это то, что я до сих пор и продолжают получать бесконечную ошибку петли и пропустил тесты
public boolean consecutive(int x, int y, int z) {
Scanner kb = new Scanner(System.in);
x = kb.nextInt();
y = kb.nextInt();
z = kb.nextInt();
if (((x < y && x < z) && (y < z && ((y - x) == 1) && ((z - x) == 2)))
||((z < y && ((z - x) == 1) && ((y - x) == 2))))
{
return true;
} else if (((y < x && y < z)&& (x < z && ((x - y) == 1) && ((z - y) == 2)))
|| ((z < x && ((z - y) == 1) && ((x - y) == 2))))
{
return true;
} else if (((z < x && z < y)&& (y < x && ((y - z) == 1) && ((x - z) == 2)))
||((x < y && ((x - z) == 1) && ((y - z) == 2))))
{
return true;
} else {
return false;
}
Ahhhh мои глаза :(: -/ –
Бесконечный цикл? Без циклов или рекурсивный вызов ... Я не буду комментировать этот algo – AxelH
Хорошо расскажите об этом коде ... почему вы получили 'x, y, z' в параметрах, что такое vlaue? никогда не закрывайте сканер, это плохо. И для логики вы должны попробовать математику вместо условия PURE или просто найти меньшее и большее число ... – AxelH