Java黑皮书课后题第6章:**6.18(检测密码)一些网站对于密码具有一些规则。编写一个方法检测字符串是否是一个有效密码。编写一个程序,提示用户输入一个密码,如果符合规则,则显示…否则显示…
6.18(检测密码)一些网站对于密码具有一些规则。编写一个方法检测字符串是否是一个有效密码。编写一个程序,提示用户输入一个密码,如果符合规则,则显示…否则显示…
- 题目
- 题目描述
- 破题
- 代码
- 运行示例
题目
题目描述
6.18(检测密码)一些网站对于密码具有一些规则。编写一个方法检测字符串是否是一个有效密码。
假定密码规则如下:
①密码必须至少8位字符
②仅能包含字母和数字
③密码必须包含至少两个数字
编写一个程序,提示用户输入一个密码,如果符合规则,则显示Valid Pasword,否则显示Invalid Password
破题
- 至少8位:字符串长度大于等于8
- 仅能包含字母和数字:字符串每位的ASCII码只能在如下三个区间:[48, 57]、[65, 90]、[97, 112]
- 必须至少包含两个数字:至少在[48, 57]区间出现两次
- 编写一个返回字符ASCII码的方法:public static int char_to_ASCII(char ch)
- 主方法则实现其他功能
代码
import java.util.Scanner;public class Test6_18 {public static void main(String[] args) {// 接收用户输入Scanner input = new Scanner(System.in);System.out.print("请输入一个密码:");String str = input.nextLine();// 1. 至少8位:字符串长度大于等于8int length = str.length();if (length < 8){System.out.println("Invalid Password");System.exit(1);}// 2. 转ASCIIboolean bool1 = true, bool2 = false;int count = 0;for (int i = 0 ;i < length;i++){int int_ASCII = char_to_ASCII(str.charAt(i));// 仅能包含字母和数字;[48, 57]、[65, 90]、[97, 122]if (int_ASCII < 48 || (int_ASCII > 57 && int_ASCII < 65) || (int_ASCII > 90 && int_ASCII < 97) || int_ASCII > 122){bool1 = false;break;}// 必须至少包含两个数字if (int_ASCII >= 48 && int_ASCII <= 57)count++;}if (count >= 2)bool2 = true;// 输出判断if (bool1 && bool2)System.out.println("Valid Password");elseSystem.out.println("Invalid Password");}public static int char_to_ASCII(char ch){return (int) (ch);}
}
运行示例
请输入一个密码:Invalid Password123
Invalid Password
Java黑皮书课后题第6章:**6.18(检测密码)一些网站对于密码具有一些规则。编写一个方法检测字符串是否是一个有效密码。编写一个程序,提示用户输入一个密码,如果符合规则,则显示…否则显示…相关推荐
- Java黑皮书课后题第6章:*6.23(指定字符的出现次数)使用下面的方法头编写一个方法,找到一个字符串中指定字符的出现次数。编写一个测试程序,提示用户输入一个字符串以及一个字符,显示该字符出现次数
6.23(指定字符的出现次数)使用下面的方法头编写一个方法,找到一个字符串中指定字符的出现次数.编写一个测试程序,提示用户输入一个字符串以及一个字符,显示该字符出现次数 题目 题目描述 破题 代码 运 ...
- Java黑皮书课后题第8章:*8.21(中心城市)给定一组城市,中心城市是和其它所有城市具有最短距离的城市。编写一个程序,提示用户输入城市数目以及位置(坐标),找到中心城市以及与其他城市总距离
*8.21(中心城市)给定一组城市,中心城市是和其它所有城市具有最短距离的城市.编写一个程序,提示用户输入城市数目以及位置(坐标),找到中心城市以及与其他城市总距离 题目 题目描述与运行示例 破题 代 ...
- Java黑皮书课后题第4章:4.4(几何:六边形面积)六边形面积可以通过下面公式计算(s是边长) 编写程序,提示用户输入六边形的边长,然后显示它的面积
4.4(几何:六边形面积)六边形面积可以通过下面公式计算(s是边长) 编写程序,提示用户输入六边形的边长,然后显示它的面积 题目 题目概述 运行示例 破题 代码 题目 题目概述 4.4(几何:六边形面 ...
- Java黑皮书课后题第8章:**8.17(金融风暴)银行会互相借款……银行的总资产是它当时的余款减去它欠其他银行的贷款。如果一个银行的总资产在某个限以下,那么这个银行是不安全的。编写程序,找出所有不安
**8.17(金融风暴)银行会互相借款--银行的总资产是它当时的余款减去它欠其他银行的贷款.如果一个银行的总资产在某个限以下,那么这个银行是不安全的.编写程序,找出所有不安全银行 题目 题目描述 破题 ...
- Java黑皮书课后题第7章:*7.12(倒置数组)7.7节中的reverse方法通过复制到新数组实现倒置。改写方法将参数中传递的数组倒置,并返回该数组。编写一个测试程序,输入10个数字,倒置它们并显示
7.12(倒置数组)7.7节中的reverse方法通过复制到新数组实现倒置.改写方法将参数中传递的数组倒置,并返回该数组.编写一个测试程序,输入10个数字,倒置它们并显示 题目 题目描述 破题 代码 ...
- Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类)设计一个名为Person的类及其两个名为Student和Employee的子类
Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类) 题目 缺陷 UML图 代码 Test02_MyDate.java:用于参考的My ...
- Java黑皮书课后题第10章:**10.25(新的字符串split方法)String类中的split方法会返回一个字符串数组,该数组是由分隔符分隔开的子串构成的
Java黑皮书课后题第10章:**10.25(新的字符串split方法) 题目 代码 运行实例 题目 代码 public class Test25 {public static String[] sp ...
- Java黑皮书课后题第10章:10.21(被5或6整除)找出能被5或6整除的大于Long.MAX_VALUE的前10个数字
Java黑皮书课后题第10章:10.21(被5或6整除)找出能被5或6整除的大于Long.MAX_VALUE的前10个数字 题目 代码 结果 题目 都在上面 代码 import java.math.B ...
- Java黑皮书课后题第10章:*10.13(几何:MyRectangle2D类)定义MyRectangle2D类
Java黑皮书课后题第10章:10.3 题目 程序 代码 Test13.java Test13_MyRectangle2D.java 运行 UML 题目 程序 Test13.java:测试程序 Tes ...
- Java黑皮书课后题第10章:10.2(BMI类)将下面的新构造方法加入BMI类中
Java黑皮书课后题第10章:10.2(BMI类)将下面的新构造方法加入BMI类中 题目 程序说明 题目槽点 代码:Test2_BMI.java 运行实例 题目 程序说明 Test2_BMI.java ...
最新文章
- C++_泛型编程与标准库(一)
- java selenium (六) XPath 定位
- Android mediaRecorder框架简述(二)
- html select选择事件_用 Java 拿下 HTML,分分钟写个小爬虫
- 基于matlab的能级_波函数及几率密度图形的绘制,基于MATLAB的能级波函数及几率密度图形的绘制.pdf...
- 硬件芯片选型原理图设计
- Android之matrix类控制图片的旋转、缩放、移动
- MSSQL 2005 分页分析及优化(转)
- 高等数学二python实现导数与微分
- 考完试 记录一下复习资料 人工智能原理知识点整理
- Mintec.MineSight.3D.v7.0.3
- 数值分析及其matlab实现习题答案,数值分析练习题(含答案).doc
- python 路由追踪_tracert跟踪路由
- 求一阶微分方程通解和特解
- 布莱叶盲文-谷歌生态
- 土木/岩土期刊版面费/审稿费统计列表
- matlab数字信号处理(1)——正弦信号生成与时域分析
- 遇到Process finished with exit code -1073740791 (0xC0000409)实在不能解决的时候要注意
- 已解决RuntimeError: CUDA error: device-side assert triggered异常的正确解决方法,亲测有效!!!
- Linux学习:入门,概述,常用命令,环境安装
热门文章
- none是不是python的保留字_Python主要保留字
- 1771: 书架整理(dp)
- 基于实时深度学习的推荐系统架构设计和技术演进
- 产品更新教程-钉钉宜搭版本:手写签名和定位组件来了
- 【云上创新】阿里云视频云分享全场景音视频服务背后的场景探索与技术实践
- 秒懂云通信:选云通信到底哪家强?
- android 恢复出厂设置 时间,Android 恢复出厂设置后,时间不能恢复为:2013年1月1日...
- 《死亡细胞》中神秘背景世界色彩设计(上)
- 以外包角度谈美术制程 Studio Voltz联合创始人开发经验
- 发挥游戏人工智能的最大价值:线程化