题解 | #密码验证合格程序#
密码验证合格程序
https://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841
import scala.io._ import java.io._ import scala.collection.mutable.ArrayBuffer object Main { def main(args :Array[String]): Unit = { val outCapture = new ByteArrayOutputStream val stdout = System.out try { var line: String = null //包括大小写字母.数字.其它符号,以上四种至少三种 while ({line = StdIn.readLine(); line != null}) { var flag = 0 val char: Array[Char] = line.toCharArray if(char.length>8){ var arr: ArrayBuffer[Int] =ArrayBuffer[Int](0,0,0,0) for (elem <- char) { if (elem >= 'a' && elem <= 'z') arr(0) += 1 else if (elem >= 'A' && elem <= 'Z') arr(1) += 1 else if (elem >= '0' && elem <= '9') arr(2) += 1 else if (elem != ' ' && elem != "\n") arr(3) += 1 } var count = 0 for (elem <- arr){ if(elem > 0) count += 1 } if (count >= 3){ for (i <- 0 to char.length - 5) { for (j <- (i + 3) to char.length - 3) { if (char(i) == char(j) && char(i + 1) == char(j + 1) && char(i + 2) == char(j + 2)){ flag += 1 } } } } else { flag += 1 } }else{ flag +=1 } if (flag == 0) println("OK") else println("NG") } } catch { case e: Exception => { System.setOut(stdout) e.printStackTrace } } } }