题解 | #密码验证合格程序#
密码验证合格程序
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
}
}
}
}
查看8道真题和解析