华为机试(20)密码验证合格程序

package com.huaweijishi.passwordcheck;

import java.util.Scanner;
/**
 * 题目:密码要求:1.长度超过8位2.包括大小写字母.数字.其它符号,以上四种至少三种
 * 3.不能有相同长度超2的子串重复
 * 输入描述:一组或多组长度超过2的子符串。每组占一行
 * 输出描述:如果符合要求输出:OK,否则输出NG
 * 实现功能。
 * @author hexiaoli
 *
 */
public class Main {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		while (input.hasNextLine()) {
			String str = input.nextLine();
			System.out.println(checkPassword(str));
		}
	}

	public static String checkPassword(String str) {
		String result = "NG";
		// 边界1
		if (str.length() <= 8) {
			return result;
		}
		// 边界2
		// 用一个数组存储大小写字母.数字.其它符号,以上四种情况
		int[] situation = new int[4];
		int strlength = str.length();
		for (int i = 0; i < strlength; i++) {
			if (str.charAt(i) >= 'a' && str.charAt(i) <= 'z') {
				situation[0] = 1;
			}
			if (str.charAt(i) >= 'A' && str.charAt(i) <= 'Z') {
				situation[1] = 1;
			}
			if (str.charAt(i) >= '0'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值