《Java语言程序设计》编程练习6.18(检测密码)
/** 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(检测密码)的更多相关文章
- Java语言程序设计-助教篇
1. 给第一次上课(软件工程)的老师与助教 现代软件工程讲义 0 课程概述 给学生:看里面的第0个作业要求 2. 助教心得 美国视界(1):第一流的本科课堂该是什么样?(看里面的助教部分) 助教工作看 ...
- Java面向对象程序设计第7章1-8
Java面向对象程序设计第7章1-8 1."程序中凡是可能出现异常的地方必须进行捕获或拋出",这句话对吗? 不对. 异常分两类,runtime异常和非runtime异常. runt ...
- 《JAVA语言程序设计》上课笔记
教学目标:1.使学生了解JAVA课程的性质.定位.作用:为什么要学习JAVA?让学生知道如何学好JAVA: 教学内容: 一. 问几个问题 1. 你们到这里来干什么 ...
- Java语言程序设计复习提纲
这是我在准备Java考试时整理的提纲,如果是通过搜索引擎搜索到这篇博客的师弟师妹,建议还是先参照PPT和课本,这个大纲也不是很准确,自己总结会更有收获,多去理解含义,不要死记硬背,否则遇到概念辨析题 ...
- 0031 Java学习笔记-梁勇著《Java语言程序设计-基础篇 第十版》英语单词
第01章 计算机.程序和Java概述 CPU(Central Processing Unit) * 中央处理器 Control Unit * 控制单元 arithmetic/logic unit /ə ...
- 全国计算机等级考试二级笔试样卷Java语言程序设计
一.选择题((1)-(35)每小题2分,共70分) 下列各题A).B).C).D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分. (1)下列选项中不符合良好程 ...
- Java语言程序设计(基础篇)第一章
第一章 计算机.程序和Java概述 1.1 引言 什么是程序设计呢? 程序设计就是创建(或者开发)软件,软件也称为程序. 1.2 什么是计算机 计算机是存储和处理数据的电子设备,计算机包括硬件(har ...
- java语言程序设计(一)-1
java 语言的特点是: 强类型,制定了比较多的语言规范,尽可能在编译阶段检测出更多的错误及警告. 编译和解释,首先将源代码编译成codebyte,运行时,java的运行系统装载和链接需要执行的类,并 ...
- JAVA语言程序设计课程评价
紧张的又短暂的一个学期结束了,这个学期也许将成为我人生中一个重要的转折点,作为一名半路出家的选手,在初次了解Java语言时我感到非常的迷茫与不知所措.因为之前很多同学都是通过假期时间在家自学,刚转入新 ...
随机推荐
- SQLServer如何手动设置id值(主键)的自动增长
近期做东西,用到了对SQLServer数据库的操作.好吧,确实好久没看了,对这个数据库陌生到了极点,连最简单的如何设置一个id主键,让它随着插入数据的增多,自动增长id值的设置都忘记了,网上查了一下, ...
- C#网页数据采集(三)HttpWebRequest
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255) ...
- CSS:CSS 字体
ylbtech-CSS:CSS 字体 1.返回顶部 1. CSS 字体 CSS字体属性定义字体,加粗,大小,文字样式. serif和sans-serif字体之间的区别 在计算机屏幕上,sans-se ...
- 1、Monkey环境搭建
步骤: 1.下载adb压缩包: 32位计算机,用这个包:64位计算机,用这个包: 2.把对应的adb压缩包在本地解压,然后把解压后的文件里面的文件夹拷贝到D盘(当然随便你放在哪个目录)根目录,注意路径 ...
- IntelliJ快捷键记录
1.自动补全返回类型及变量:Ctrl+Alt+V2.大小写转换:Ctrl+Shift+U3.get/set方法快捷键:Alt+Insert4. 查看类继承关系:Ctrl+H或者Ctrl+Shift+A ...
- 拾遗:YouCompleteMe 前传——编译安装 llvm + clang
http://llvm.org/docs/GettingStarted.html 一.下载安装 cmake >=3.4.3 yum install gcc gcc-c++curl -O http ...
- mysql动态列--统计报表信息对比
SET @sql = NULL; SELECT GROUP_CONCAT(DISTINCT CONCAT( 'MAX(IF(tmp.summary = ''', tp.summary, ''', tm ...
- Spark中的多线程并发处理
Spark中的多任务处理 Spark的一个非常常见的用例是并行运行许多作业. 构建作业DAG后,Spark将这些任务分配到多个Executor上并行处理.但这并不能帮助我们在同一个Spark应用程序中 ...
- python调用tushare获取股票日线实时行情数据
接口:daily 数据说明:交易日每天15点-16点之间.本接口是未复权行情,停牌期间不提供数据. 调取说明:基础积分每分钟内最多调取200次,每次4000条数据,相当于超过18年历史,具体请参阅本文 ...
- hdu6290奢侈的旅行
高玩小Q不仅喜欢玩寻宝游戏,还喜欢一款升级养成类游戏.在这个游戏的世界地图中一共有n个城镇,编号依次为1到n. 这些城镇之间有m条单向道路,第i 条单项道路包含四个参数ui,vi,ai,bi,表示一条 ...