6.18 (检测密码)一些网站对于密码具有一些规则。编写一个方法,检测字符串是否是一个有效密码。
    假定密码规则如下:
    • 密码必须至少8位字符。
    • 密码仅能包含字母和数字。
    • 密码必须包含至少两个数字。
编写一个程序,提示用户输入一个密码,如果符合规则,则显示Valid Password,否则显示Invalid Password。
 /**     fileName:    passwdRule.java
function: 检测输入的密码是否符合密码规则
create Time:2019/10/17
mail: xuangliang1@live.com
*/ import java.util.Scanner;
public class passwdRule{
public static void main(String[] args){ Scanner input = new Scanner(System.in);
System.out.print("请输入密码:");
String passwd = input.next(); //密码检测
if(passwdDigit(passwd)){
if((getPasswdNumber(passwd) >= 2) && ((getPasswdNumber(passwd)+getPasswdDigitNumber(passwd)) == passwd.length())){
System.out.println("Valid Password 通过");
}else
System.out.println("Invalid Password 不通过");
}else{
System.out.println("Invalid Password 不通过");
}
} /** 检测passwd的位数长度是否符合规则, 符合返回true*/
public static boolean passwdDigit(String passwd){
//设置最大字符限制和最小字符限制
final int MAX = 1024;
final int MIN = 8;
int passwdLength = passwd.length();
if((passwdLength >= MIN) && (passwdLength < MAX))
return true;
return false;
} /** 返回passwd中的数字或字母个数 ,k为0表示数字,1表示字母 */
public static int getPasswdDigitNumber(String passwd){
//字母个数
int digitNumber = 0;
char digitUpper;
for(int i = 0; i< passwd.length(); i++){
digitUpper = Character.toUpperCase(passwd.charAt(i));
if(digitUpper > 'A' && digitUpper < 'Z')
digitNumber++;
}
return digitNumber;
} /** 返回passwd的数字个数 */
public static int getPasswdNumber(String passwd){
int number = 0;
int arrayNumber; for(int i = 0; i < passwd.length(); i++){
arrayNumber = passwd.charAt(i);
if((int)arrayNumber > 47 && (int)arrayNumber < 58)
number++;
}
return number;
}
}

这个代码写了1个晚上,删了写,最后发现charAt(i)这个是重点!

《Java语言程序设计》编程练习6.18(检测密码)的更多相关文章

  1. Java语言程序设计-助教篇

    1. 给第一次上课(软件工程)的老师与助教 现代软件工程讲义 0 课程概述 给学生:看里面的第0个作业要求 2. 助教心得 美国视界(1):第一流的本科课堂该是什么样?(看里面的助教部分) 助教工作看 ...

  2. Java面向对象程序设计第7章1-8

    Java面向对象程序设计第7章1-8 1."程序中凡是可能出现异常的地方必须进行捕获或拋出",这句话对吗? 不对. 异常分两类,runtime异常和非runtime异常. runt ...

  3. 《JAVA语言程序设计》上课笔记

    教学目标:1.使学生了解JAVA课程的性质.定位.作用:为什么要学习JAVA?让学生知道如何学好JAVA: 教学内容: 一.        问几个问题 1.             你们到这里来干什么 ...

  4. Java语言程序设计复习提纲

     这是我在准备Java考试时整理的提纲,如果是通过搜索引擎搜索到这篇博客的师弟师妹,建议还是先参照PPT和课本,这个大纲也不是很准确,自己总结会更有收获,多去理解含义,不要死记硬背,否则遇到概念辨析题 ...

  5. 0031 Java学习笔记-梁勇著《Java语言程序设计-基础篇 第十版》英语单词

    第01章 计算机.程序和Java概述 CPU(Central Processing Unit) * 中央处理器 Control Unit * 控制单元 arithmetic/logic unit /ə ...

  6. 全国计算机等级考试二级笔试样卷Java语言程序设计

    一.选择题((1)-(35)每小题2分,共70分) 下列各题A).B).C).D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分. (1)下列选项中不符合良好程 ...

  7. Java语言程序设计(基础篇)第一章

    第一章 计算机.程序和Java概述 1.1 引言 什么是程序设计呢? 程序设计就是创建(或者开发)软件,软件也称为程序. 1.2 什么是计算机 计算机是存储和处理数据的电子设备,计算机包括硬件(har ...

  8. java语言程序设计(一)-1

    java 语言的特点是: 强类型,制定了比较多的语言规范,尽可能在编译阶段检测出更多的错误及警告. 编译和解释,首先将源代码编译成codebyte,运行时,java的运行系统装载和链接需要执行的类,并 ...

  9. JAVA语言程序设计课程评价

    紧张的又短暂的一个学期结束了,这个学期也许将成为我人生中一个重要的转折点,作为一名半路出家的选手,在初次了解Java语言时我感到非常的迷茫与不知所措.因为之前很多同学都是通过假期时间在家自学,刚转入新 ...

随机推荐

  1. WebBug靶场基础篇 — 03

    基础篇 6 - 16 关... 在记录之前,先说一件事 = =! 小学生真多 = =!好心提供一个靶场,玩玩就算了,他挂黑页 ?现在好了,以后这个靶场不对外啊!你高兴了?爽了吧? 都是新手过来的,好心 ...

  2. FM算法组合估计

    #include <stdio.h> #include <math.h> #include <stdlib.h> #include <time.h> # ...

  3. 杂项-Conda:Conda

    ylbtech-杂项-Conda:Conda 1.返回顶部 1. Conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换.   外文名:Con ...

  4. 19、javascript基础知识

    1.几天接到了一个奇葩的需求,就是在鼠标滚轮滑动的时候,div要悬浮不动,因此这引起了我对于javascript知识的复习 首先从最基础的变量的类型开始 <!DOCTYPE html> & ...

  5. 4种XML解析器

    <?xml version="1.0" encoding="UTF-8"?> <Result> <VALUE> <NO ...

  6. springMVC整合swagger(亲自试验完全可用)

    swagger是什么: [plain] view plain copy Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件.本文简单介绍了在项目中集成swagger的方法和一 ...

  7. PostgreSQL——服务器基本设置与操作

    一.编译安装: 环境准备: GNU make 版本 >=3.8 (make --version) ISO/ANSI C 编译器,至少須兼容 C89 标准,GCC 或 intel 編译器等均可 g ...

  8. C#比较时间大小(时分)

    比较时间大小(时分)    string st1="12:13";    string st2="14:14";    DateTime dt1=Convert ...

  9. 20140513 matlab画图

    1.matlab画图 x1=[1.00E-06,2.00E-06,4.00E-06,9.00E-06,2.00E-05,4.00E-05,8.00E-05,2.00E-04,4.00E-04,7.00 ...

  10. 【二】Jmeter接口自动化测试系列之函数使用及扩展

    上一篇文章我们了解了Jmeter的参数化的集中方法,虽然方法不是很多,但已经足够使用! 本篇文章,介绍一下Jmeter自带函数的使用和 函数扩展,来满足测试工作中的各种需求! Jmeter自带函数 点 ...