Это моя вторая самостоятельная программа. Пока что я на начале 10 - го уровня. Вроде все работает, но мне интеренно, все ли у меня норм с пониманием кода другими.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println();
System.out.println("-------------------------------------------------------------------------");
System.out.println("Вас приветствует программа \"Таймер до дня рождения\"! \uD83C\uDF82");
System.out.println("Автор: ©DreidKare");
System.out.println("Если Вы обнаружили баг / неточность или хотите предложить улучшение \nфункционала, свяжитесь со мной в Telegram. Ник в конце программы.");
System.out.println("-------------------------------------------------------------------------");
System.out.println();
System.out.println();
System.out.println("Введите ваше имя. Поддерживается любой формат (Андрей/Andrey/lilAndrey/андрей/andrey/АнДрЕй и так далее).");
String username = scanner.nextLine();
System.out.println("Приветствую, " + username + ", теперь введи свой год рождения. Введи в формате '1999 / 2003 / 2009'.");
int year = scanner.nextInt();
System.out.println("Теперь уточним. Какой сейчас год? Введи в формате '2012 / 2015 / 2020'");
int yearnow = scanner.nextInt();
System.out.println("И еще немножко уточнений. Какой сейчас месяц? Введи в формате 'Январь / январь - Декабрь / декабрь'.");
scanner.nextLine();
String monthnow = scanner.nextLine();
if (monthnow.equalsIgnoreCase("Январь")|| monthnow.equalsIgnoreCase("Февраль")||monthnow.equalsIgnoreCase("Март")||monthnow.equalsIgnoreCase("Апрель")||monthnow.equalsIgnoreCase("Май")||monthnow.equalsIgnoreCase("Июнь")) {
System.out.println("Отлично, сейчас 1 - е полугодие " + yearnow + " года.");
} else if (monthnow.equalsIgnoreCase("Июль")||monthnow.equalsIgnoreCase("Август")||monthnow.equalsIgnoreCase("Сентябрь")||monthnow.equalsIgnoreCase("Октябрь")||monthnow.equalsIgnoreCase("Ноябрь")||monthnow.equalsIgnoreCase("Декабрь")) {
System.out.println("Отлично, сейчас 2 - е полугодие." + yearnow + " года.");
} else {
System.out.println("Похоже, что такого месяца не существует! Перезапусти программу и введи месяц в формате 'Январь / январь - Декабрь / декабрь'. \nЕсли вы уверены, что ввели все правильно, а программа работает неверно, свяжитесь со мной в Telegram.");
System.exit(0);
}
System.out.println();
System.out.println ("И еще чуть-чуть уточнений. Какое сегодня число? Введи в формате '1 - 31'.");
int day = scanner.nextInt();
if (day > 0 && day <= 31) {
System.out.println("Итак, текущая дата: " + monthnow + ", " + day + " (" + yearnow + " года)");
} else {
System.out.println("Такого дня не существует! Перезапусти программу и введи день в формате '1 - 31' \nЕсли вы уверены, что ввели все правильно, а программа работает неверно, свяжитесь со мной в Telegram.");
System.exit(0);
}
int monthnowint = 0;
if (monthnow.equalsIgnoreCase("Январь"))
monthnowint = 1;
if (monthnow.equalsIgnoreCase("Февраль"))
monthnowint = 2;
if (monthnow.equalsIgnoreCase("Март"))
monthnowint = 3;
if (monthnow.equalsIgnoreCase("Апрель"))
monthnowint = 4;
if (monthnow.equalsIgnoreCase("Май"))
monthnowint = 5;
if (monthnow.equalsIgnoreCase("Июнь"))
monthnowint = 6;
if (monthnow.equalsIgnoreCase("Июль"))
monthnowint = 7;
if (monthnow.equalsIgnoreCase("Август"))
monthnowint = 8;
if (monthnow.equalsIgnoreCase("Сентябрь"))
monthnowint = 9;
if (monthnow.equalsIgnoreCase("Октябрь"))
monthnowint = 10;
if (monthnow.equalsIgnoreCase("Ноябрь"))
monthnowint = 11;
if (monthnow.equalsIgnoreCase("Декабрь"))
monthnowint = 12;
System.out.println();
System.out.println("Ваш возраст: " + (yearnow - year - 1) + " - " + (yearnow - year) + " лет.");
System.out.println("Точный возраст мы уточним чуть позже.");
System.out.println();
System.out.println("А теперь, " + username + ", давай разбираться подробнее.");
System.out.println("-------------------------------------------------------------------------");
System.out.println("В каком месяце у тебя день рождения? Введи в формате: 'Январь - Декабрь'.");
scanner.nextLine();
String month = scanner.nextLine();
if (month.equalsIgnoreCase("Январь")|| month.equalsIgnoreCase("Февраль")||month.equalsIgnoreCase("Март")||month.equalsIgnoreCase("Апрель")||month.equalsIgnoreCase("Май")||month.equalsIgnoreCase("Июнь")) {
System.out.println("Отлично, твой день рождения в 1 - м полугодии.");
} else if (month.equalsIgnoreCase("Июль")||month.equalsIgnoreCase("Август")||month.equalsIgnoreCase("Сентябрь")||month.equalsIgnoreCase("Октябрь")||month.equalsIgnoreCase("Ноябрь")||month.equalsIgnoreCase("Декабрь")) {
System.out.println("Отлично, твой день рождения во 2 - м полугодии.");
} else {
System.out.println("Похоже, что такого месяца не существует! Перезапусти программу и введи месяц в формате 'Декабрь' / 'декабрь' \nЕсли вы уверены, что ввели все правильно, а программа работает не правильно, свяжитесь со мной в Telegram.");
System.exit(0);
}
System.out.println("Месяц твоего дня рождения: " + month + ".");
System.out.println();
System.out.println("Теперь введи число твоего дня рождения.");
int daybirthday = scanner.nextInt();
System.out.println();
System.out.println("---------------------------------ИТОГ------------------------------------");
System.out.println("Итак, " + username + ", твой день рождения: " + month + ", " + daybirthday + " (" + year + " года.)");
int monthbirthdayint = 0;
if (month.equalsIgnoreCase("Январь"))
monthbirthdayint = 1;
if (month.equalsIgnoreCase("Февраль"))
monthbirthdayint = 2;
if (month.equalsIgnoreCase("Март"))
monthbirthdayint = 3;
if (month.equalsIgnoreCase("Апрель"))
monthbirthdayint = 4;
if (month.equalsIgnoreCase("Май"))
monthbirthdayint = 5;
if (month.equalsIgnoreCase("Июнь"))
monthbirthdayint = 6;
if (month.equalsIgnoreCase("Июль"))
monthbirthdayint = 7;
if (month.equalsIgnoreCase("Август"))
monthbirthdayint = 8;
if (month.equalsIgnoreCase("Сентябрь"))
monthbirthdayint = 9;
if (month.equalsIgnoreCase("Октябрь"))
monthbirthdayint = 10;
if (month.equalsIgnoreCase("Ноябрь"))
monthbirthdayint = 11;
if (month.equalsIgnoreCase("Декабрь"))
monthbirthdayint = 12;
if (monthbirthdayint == monthnowint && daybirthday == day) {
System.out.println();
} else if (monthbirthdayint == monthnowint) {
System.out.println("Хмммм... Сейчас " + monthnow.toLowerCase() + "... А месяц твоего дня рождения? Тоже " + month.toLowerCase() + ".");
System.out.println("Получается, твой день рождения уже в этом месяце! Поздравляем!");
System.out.println();
System.out.println("Осталось(ся) всего " + (daybirthday - day) + " дней(ня)(нь)! Совсем немного!");
} else if (monthbirthdayint > monthnowint) {
System.out.println("До твоего следующего дня рождения осталось: " + (monthbirthdayint - monthnowint) + " месяц(а)(ев).");
} else if (monthbirthdayint < monthnowint) {
System.out.println("До твоего следующего дня рождения осталось: " + (12 - (monthnowint - monthbirthdayint)) + " месяц(а)(ев).");
}
System.out.println("Теперь давай более точно узнаем сколько тебе лет.");
if (monthnowint < monthbirthdayint) {
System.out.println();
System.out.println("Получается, тебе " + (yearnow - year - 1) + " лет.");
} else if (monthnowint == monthbirthdayint) {
if (day < daybirthday) {
System.out.println("Получается, тебе почти " + (yearnow - year) + " лет.");
} else if (day == daybirthday) {
System.out.println("Так-так.. Сейчас " + monthnow + ", " + day + " ... А твой день рождения: " + month + ", " + daybirthday + ".");
System.out.println("Выходит, ты сегодня именинник!");
System.out.println("-------------------------------------------------------------------------");
System.out.println("Тебе исполняется " + (yearnow - year) + " лет!");
System.out.println();
System.out.println(username + ", поздравляем тебя с днем рождения! Всего самого наилучшего!");
System.out.println("\uD83C\uDF82 \uD83C\uDF82 \uD83C\uDF82 \uD83C\uDF82 \uD83C\uDF82 \uD83C\uDF82");
}
} else if (monthnowint > monthbirthdayint) {
System.out.println();
System.out.println("Получается, тебе " + (yearnow - year) + " лет.");
}
System.out.println("----------------------------ДОПОЛНИТЕЛЬНО--------------------------------");
System.out.println();
System.out.println("Telegram: ©DreidKare");
}
}