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

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

题目:读入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类型时,仍然会将小数部分去掉的。

目录
相关文章
给定一个正整数N,将其表示为数字1,3,7,15相加的形式输出。请编码找出使上述数字出现的总次数最少(每个数字可以重复使用)的组合。
给定一个正整数N,将其表示为数字1,3,7,15相加的形式输出。请编码找出使上述数字出现的总次数最少(每个数字可以重复使用)的组合。
|
4月前
|
C语言
输入一行字符
该C语言程序通过`getchar()`函数读取用户输入的字符,并使用`while`循环直到遇到换行符`\n`停止读取。程序统计并分类计数了输入中的英文字母、数字、空格及其他字符的数量,最后将统计结果输出。示例输出显示了对字符串"www.runoob.com 123"的正确统计结果。
50 4
|
5月前
|
Java
输入一个字符串,找出其中不含有重复字符的最长子串的长度。
这篇文章提供了一个Java解决方案,用于找出输入字符串中不含有重复字符的最长子串的长度,通过使用HashSet来跟踪字符并计算最长不重复字符子串。
输入一个字符串,找出其中不含有重复字符的最长子串的长度。
|
8月前
53.从键盘输入任意一串字符串,程序输出同样的一串字符,要求输出字符串中大小写相互转化,其他符号不变。如输入“a123BxC”,则输出“A123bXc”
53.从键盘输入任意一串字符串,程序输出同样的一串字符,要求输出字符串中大小写相互转化,其他符号不变。如输入“a123BxC”,则输出“A123bXc”
59 0
|
存储 算法
算法之字符串问题(第415题字符串相加、第43题字符串相乘、第316题去除重复字母)
算法之字符串问题(第415题字符串相加、第43题字符串相乘、第316题去除重复字母)
82 0
|
8月前
按要求输入字符
【2月更文挑战第5天】输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止。
49 0
|
8月前
输入一个字符串,统计其中字符A的数量并且输出,输入共有一行,为一个不带空格的字符串(其中字符数不超过100),输出一行,包含一个整数,为输入字符串中的A的数量
输入一个字符串,统计其中字符A的数量并且输出,输入共有一行,为一个不带空格的字符串(其中字符数不超过100),输出一行,包含一个整数,为输入字符串中的A的数量
101 0
|
存储 C语言
探索编程中的字母转换:如何将字母变为二进制矩阵?
二进制是学习计算机语言中一个非常重要的知识点,笔者将通过这篇文章帮助读者了解进制转换在程序中的运用,借助进制转化实现火柴形状的字母输出。
162 0
从键盘上输入m与n(m<=n且m>3),输出从m到n之间的所有素数(以逗号间隔,即输出一个整数后再输出一个逗号)。
从键盘上输入m与n(m<=n且m>3),输出从m到n之间的所有素数(以逗号间隔,即输出一个整数后再输出一个逗号)。
219 0
|
算法
给定m个不重复的字符 [a,b,c,d],以及一个长度为n的字符串tbcacbdata滑动窗口
给定m个不重复的字符 [a,b,c,d],以及一个长度为n的字符串tbcacbdata滑动窗口
248 0