Сделайте проверку на некоторые номера - PullRequest
0 голосов
/ 25 октября 2018

У меня есть код:

Scanner scanner = new Scanner(System.in);
System.out.print("Enter your ID: ");
int U_id = scanner.nextInt();
println("$U_id")

import java.util.regex.Pattern

try {
    String U_id_str = "$U_id"

    Pattern pattern = Pattern.compile(/^([0-9]{5})([0-9]{3})([0-9])([0-9])$/)

    def (_, birthNum, pNum, gend, kNum) = (U_id_str =~ pattern)[0]
    println "birthNum = ${birthNum}, pNum = ${pNum}, ${gend}, Key number - ${kNum}"

} catch (IndexOutOfBoundsException ex) {
    println "Input string does not match regular expression..."
}

Мне нужен мужской чек.Если 'gend' даже тогда, gend_w = "мужчина", иначе gend_w = "женщина".И мне нужно посчитать BirthNum_w.BirthNum_w = количество дней с 01.01.1900.Например 40176 говорит, что дата 01.01.2010

1 Ответ

0 голосов
/ 25 октября 2018

Вы можете проверить gend нечетным путем проверки остатка при делении на 2

boolean isOdd = gend % 2

Для дней с 1900 года вы можете использовать:

import java.time.LocalDate

LocalDate dob = LocalDate.of(1900, 1, 1).plusDays(40176)

, что даетты 2009-12-31 ... ты пропустил високосный год в своих расчетах?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...