/
Shlomov
/
Lab
Обзор
Документация
Войти
/
Shlomov
/
Lab
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
1.1
359 строк
13 KB
Shlomov
1.1
17 дек 2025, 21:56
17 дек 2025, 21:56
55f87ec
Код
Авторство
О чём код?
/* Задание 1 import java.util.Scanner; public class SingleEven { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // Ввод трёх целых чисел System.out.print("Введите первое число: "); int a = scanner.nextInt(); System.out.print("Введите второе число: "); int b = scanner.nextInt(); System.out.print("Введите третье число: "); int c = scanner.nextInt(); // Считаем количество чётных чисел int evenCount = 0; if (a % 2 == 0) evenCount++; if (b % 2 == 0) evenCount++; if (c % 2 == 0) evenCount++; // Проверяем, что ровно одно число чётное if (evenCount == 1) { System.out.println("истина"); } else { // Можно убрать else, если не нужно выводить ничего в ином случае System.out.println("ложь"); // или просто не выводить ничего } scanner.close(); } } */ /* Задание 2 import java.util.Scanner; public class SingleEven { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Введите первое число: "); int a = scanner.nextInt(); System.out.print("Введите второе число: "); int b = scanner.nextInt(); System.out.print("Введите третье число: "); int c = scanner.nextInt(); int max; if (a >= b && a >= c) { max = a; } else if (b >= a && b >= c) { max = b; } else { max = c; } System.out.println("Максимальное число: " + max); /* Задание 3 import java.util.Scanner; import java.util.Arrays; public class SortThreeNumbers { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Введите первое число: "); int a = scanner.nextInt(); System.out.print("Введите второе число: "); int b = scanner.nextInt(); System.out.print("Введите третье число: "); int c = scanner.nextInt(); // Создаём массив из трёх чисел int[] numbers = {a, b, c}; // Сортируем по возрастанию Arrays.sort(numbers); // Выводим результат System.out.println("Числа в порядке возрастания: " + numbers[0] + " " + numbers[1] + " " + numbers[2]); scanner.close(); } } */ /* Задание 4 import java.util.Scanner; public class KnightAttack { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("Введите координаты коня (x1 y1):"); int x1 = scanner.nextInt(); int y1 = scanner.nextInt(); System.out.println("Введите координаты фигуры противника (x2 y2):"); int x2 = scanner.nextInt(); int y2 = scanner.nextInt(); // Проверяем корректность координат (шахматной доски 8×8) if (!isValidCell(x1, y1) || !isValidCell(x2, y2)) { System.out.println("Ошибка: координаты должны быть от 1 до 8!"); scanner.close(); return; } // Вычисляем абсолютные разницы по осям int dx = Math.abs(x1 - x2); int dy = Math.abs(y1 - y2); // Проверяем, может ли конь побить фигуру if ((dx == 2 && dy == 1) || (dx == 1 && dy == 2)) { System.out.println("YES"); } else { System.out.println("NO"); } scanner.close(); } // Метод проверки, что клетка в пределах доски (1–8) private static boolean isValidCell(int x, int y) { return x >= 1 && x <= 8 && y >= 1 && y <= 8; } } */ /* Задание 5 import java.util.Scanner; public class QueenAttack { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("Введите координаты ферзя (x1 y1):"); int x1 = scanner.nextInt(); int y1 = scanner.nextInt(); System.out.println("Введите координаты фигуры противника (x2 y2):"); int x2 = scanner.nextInt(); int y2 = scanner.nextInt(); // Проверяем корректность координат (шахматной доски 8×8) if (!isValidCell(x1, y1) || !isValidCell(x2, y2)) { System.out.println("Ошибка: координаты должны быть от 1 до 8!"); scanner.close(); return; } // Проверяем условия атаки ферзя boolean canAttack = (x1 == x2) || // одна вертикаль (y1 == y2) || // одна горизонталь (Math.abs(x1 - x2) == Math.abs(y1 - y2)); // диагональ if (canAttack) { System.out.println("YES"); } else { System.out.println("NO"); } scanner.close(); } // Метод проверки, что клетка в пределах доски (1–8) private static boolean isValidCell(int x, int y) { return x >= 1 && x <= 8 && y >= 1 && y <= 8; } } */ /* Задание 6 import java.util.Scanner; public class DateValidator { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Введите день: "); int day = scanner.nextInt(); System.out.print("Введите месяц: "); int month = scanner.nextInt(); System.out.print("Введите год: "); int year = scanner.nextInt(); if (isValidDate(day, month, year)) { System.out.println("Дата корректна"); } else { System.out.println("Некорректная дата"); } scanner.close(); } // Метод проверяет, является ли дата действительной private static boolean isValidDate(int day, int month, int year) { // Проверка диапазона года (например, от 1 до 9999) if (year < 1 || year > 9999) { return false; } // Проверка диапазона месяца if (month < 1 || month > 12) { return false; } // Количество дней в каждом месяце int[] daysInMonth = { 31, // январь isLeapYear(year) ? 29 : 28, // февраль (високосный?) 31, // март 30, // апрель 31, // май 30, // июнь 31, // июль 31, // август 30, // сентябрь 31, // октябрь 30, // ноябрь 31 // декабрь }; // Проверка дня: в пределах допустимого для данного месяца и года return day >= 1 && day <= daysInMonth[month - 1]; } // Метод определяет, является ли год високосным private static boolean isLeapYear(int year) { return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); } } */ /* Задание 7 import java.util.Scanner; public class NextDayCalculator { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Введите день: "); int day = scanner.nextInt(); System.out.print("Введите месяц: "); int month = scanner.nextInt(); System.out.print("Введите год: "); int year = scanner.nextInt(); // Проверяем корректность введённой даты if (!isValidDate(day, month, year)) { System.out.println("Ошибка: некорректная дата!"); scanner.close(); return; } // Получаем дату следующего дня int[] nextDate = getNextDay(day, month, year); int nextDay = nextDate[0]; int nextMonth = nextDate[1]; int nextYear = nextDate[2]; System.out.printf("Следующий день: %02d.%02d.%04d%n", nextDay, nextMonth, nextYear); scanner.close(); } // Метод проверяет, является ли дата действительной private static boolean isValidDate(int day, int month, int year) { if (year < 1 || year > 9999) return false; if (month < 1 || month > 12) return false; int[] daysInMonth = { 31, // январь isLeapYear(year) ? 29 : 28, // февраль 31, 30, 31, 30, 31, 31, 30, // март–сентябрь 31, 30, 31 // октябрь–декабрь }; return day >= 1 && day <= daysInMonth[month - 1]; } // Метод определяет, високосный ли год private static boolean isLeapYear(int year) { return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); } // Метод возвращает дату следующего дня в виде массива [день, месяц, год] private static int[] getNextDay(int day, int month, int year) { int[] daysInMonth = { 31, isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; int maxDays = daysInMonth[month - 1]; if (day < maxDays) { // Просто увеличиваем день return new int[]{day + 1, month, year}; } else { // Последний день месяца if (month == 12) { // Переход на следующий год return new int[]{1, 1, year + 1}; } else { // Переход на следующий месяц return new int[]{1, month + 1, year}; } } } } */ /* Задание 7 import java.util.Scanner; public class RubleCase { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Введите число (1–999): "); int number = scanner.nextInt(); if (number < 1 || number > 999) { System.out.println("Ошибка: число должно быть от 1 до 999."); } else { String result = number + " " + getRubleForm(number); System.out.println(result); } scanner.close(); } // Метод возвращает правильную форму слова «рубль» для заданного числа private static String getRubleForm(int n) { // Выделяем последние две цифры (для проверки исключений 11–14) int lastTwo = n % 100; // Выделяем последнюю цифру int lastOne = n % 10; // Исключения: 11, 12, 13, 14 — всегда «рублей» if (lastTwo >= 11 && lastTwo <= 14) { return "рублей"; } // Основная логика по последней цифре switch (lastOne) { case 1: return "рубль"; case 2: case 3: case 4: return "рубля"; default: return "рублей"; } } } */