输入两个字符,要求在它们之间随机产生一个字符

简介: 输入两个字符,要求在它们之间随机产生一个字符

题目:读入c1和c2后,输出c1和c2之间的随机字符newChar,写出求newChar的语句。


一般这个题目有点陷阱,如果输入a和z,输出的字符中到底是包括z不包括z呢?抛开面试题不谈,实际生活和工作中,一般是“含有”。如果考试题让输出从a到z的随机数,意思就是[a,z]。那么这个题目得这么答:读入c1和c2后, char newChar = (char)(c1+(int)(Math.random()*(c2-c1+1))); 加上1,是要获取z]这个范围,如果不加,就成了z),结果永远不会有z的。


考虑《Java编程思想》中的例子,

char c = (char)(Math.random() * 26 + 'a');
26 = 'z' - 'a' +1;
c1 = 'a';

就是这样。


int转换实际上也可以不写,加法之后转换到char类型时,仍然会将小数部分去掉的。

目录
相关文章
|
1月前
|
前端开发 JavaScript 安全
前端JS实现密码校验键盘横竖、26字母、相同字母、相同数字、密码包含用户名、数字 字母不能连续 不能相同三个、不能横向 竖向 连续三个 包含字符、不能有中文符号
该 JavaScript 代码实现了一个严格的密码校验功能,确保密码满足多种安全要求,包括长度、字符类型、不包含中文及特殊字符、不与用户名相似等。通过多个辅助函数,如 `validateFormat` 检查密码格式,`isHasChinaCharFun` 检测中文符号,`getCharAll` 生成键盘组合,以及 `checkPasswordFun` 综合验证密码的有效性和安全性。此工具对于提高用户账户的安全性非常有用。
27 0
|
2月前
|
C语言
输入一行字符
该C语言程序通过`getchar()`函数读取用户输入的字符,并使用`while`循环直到遇到换行符`\n`停止读取。程序统计并分类计数了输入中的英文字母、数字、空格及其他字符的数量,最后将统计结果输出。示例输出显示了对字符串"www.runoob.com 123"的正确统计结果。
40 4
|
3月前
|
Java
输入一个字符串,找出其中不含有重复字符的最长子串的长度。
这篇文章提供了一个Java解决方案,用于找出输入字符串中不含有重复字符的最长子串的长度,通过使用HashSet来跟踪字符并计算最长不重复字符子串。
输入一个字符串,找出其中不含有重复字符的最长子串的长度。
|
6月前
53.从键盘输入任意一串字符串,程序输出同样的一串字符,要求输出字符串中大小写相互转化,其他符号不变。如输入“a123BxC”,则输出“A123bXc”
53.从键盘输入任意一串字符串,程序输出同样的一串字符,要求输出字符串中大小写相互转化,其他符号不变。如输入“a123BxC”,则输出“A123bXc”
50 0
|
6月前
按要求输入字符
【2月更文挑战第5天】输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止。
44 0
|
6月前
输入一个字符串,统计其中字符A的数量并且输出,输入共有一行,为一个不带空格的字符串(其中字符数不超过100),输出一行,包含一个整数,为输入字符串中的A的数量
输入一个字符串,统计其中字符A的数量并且输出,输入共有一行,为一个不带空格的字符串(其中字符数不超过100),输出一行,包含一个整数,为输入字符串中的A的数量
从键盘上输入m与n(m<=n且m>3),输出从m到n之间的所有素数(以逗号间隔,即输出一个整数后再输出一个逗号)。
从键盘上输入m与n(m<=n且m>3),输出从m到n之间的所有素数(以逗号间隔,即输出一个整数后再输出一个逗号)。
191 0
|
前端开发 JavaScript
利用 FIGlet 输出特殊的字符
利用 FIGlet 输出特殊的字符
206 0
利用 FIGlet 输出特殊的字符
|
机器学习/深度学习 CDN
编写程序统计从键盘输入的一行文本中各个字母的个数。 输入以回车键结束。 不区分大小写,大写字母与相应的小写字母按照同一个字母看待。 要求输出按照各个字母出现的个数从大到小进行排序,出现的个数相同的,按
编写程序统计从键盘输入的一行文本中各个字母的个数。 输入以回车键结束。 不区分大小写,大写字母与相应的小写字母按照同一个字母看待。 要求输出按照各个字母出现的个数从大到小进行排序,出现的个数相同的,按
374 0