检查一些数字

时间:2018-10-25 09:19:18

标签: groovy

我有一个代码:

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 =“ man”,则gend_w =“ woman”。我需要数出birthNum_w。 BirthNum_w =从01.01.1900开始的天数。例如40176说日期是2010年1月1日

1 个答案:

答案 0 :(得分:0)

您可以通过除以2的余数来检查gend是否为奇数

boolean isOdd = gend % 2

自1900年以来,您可以使用:

import java.time.LocalDate

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

为您提供2009-12-31 ...您错过了计算中的a年吗?