Advertisement
jasurbekdev

Untitled

Sep 16th, 2020
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 2.04 KB | None | 0 0
  1.  
  2.  
  3. fun main(args: Array<String>) {
  4.     val dates: Array<String> = arrayOf(
  5.             "20.1-18.2",
  6.             "19.2-20.3",
  7.             "21.3-19.4"
  8.     )
  9.     val D = readLine()
  10.     val M = readLine()
  11.     val dateName = getDateName(D, M, dates)
  12.     println(dateName)
  13. }
  14.  
  15. fun getDateName(d: String?, m: String?, dates: Array<String>): String {
  16.     var index: Int = -1
  17.     for (date in dates) {
  18.         val beginEnd = date.split("-")
  19.         val dayBegin = beginEnd[0].split(".")[0]
  20.         val monthBegin = beginEnd[0].split(".")[1]
  21.         val dayEnd = beginEnd[1].split(".")[0]
  22.         val monthEnd = beginEnd[1].split(".")[1]
  23.         val isDayBeginBigger = dayBegin > dayEnd
  24.         val isMonthDifferent = monthBegin != monthEnd
  25.         if (m?.toInt()!! >= monthBegin.toInt() && m.toInt() <= monthEnd.toInt()) {
  26.             if (!isMonthDifferent) {
  27.                 if (d?.toInt()!! >= dayBegin.toInt() && d.toInt() <= dayEnd.toInt()) {
  28.                     index = dates.indexOf(date)
  29.                     break
  30.                 }
  31.             } else {
  32.                 if (isDayBeginBigger) {
  33.                     if (m.toInt() == monthBegin.toInt() && d?.toInt()!! >= dayBegin.toInt() && d.toInt() <= 31
  34.                             || m.toInt() <= monthEnd.toInt() && d?.toInt()!! >= 1 && d.toInt() <= dayEnd.toInt()) {
  35.                         index = dates.indexOf(date)
  36.                         break
  37.                     }
  38.                 } else {
  39.                     if (m.toInt() == monthBegin.toInt() && d?.toInt()!! >= dayBegin.toInt() && d.toInt() <= 31
  40.                             || m.toInt() <= monthEnd.toInt() && d?.toInt()!! >= 1 && d.toInt() <= dayEnd.toInt()) {
  41.                         index = dates.indexOf(date)
  42.                         break
  43.                     }
  44.                 }
  45.             }
  46.         }
  47.     }
  48.  
  49.     return findName(index)
  50. }
  51.  
  52. fun findName(index: Int): String {
  53.     return when (index) {
  54.         0 -> "Qovg'a"
  55.         1 -> "Baliq"
  56.         2 -> "Qo'y"
  57.         else -> "Date name not found"
  58.     }
  59. }
  60.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement