java - 如何将随机数转换为字符
问题描述
我试图将随机数转换为字符。
如果我在变量中输入一个数字,它可以工作,但是如果我这样做int number = (int)(Math.random()*10);
,然后将它分配给一个字符并char c = (char)number;
在我打印它时转换它,它不会显示任何没有错误的东西,比如一个不可见的字符。
你能帮我做这件事吗?
解决方案
只需添加'0'
到您的int
.
int number = (int)(Math.random()*10);
char c = (char)number + '0';
由于'0'
ASCII 值是 48,'1'
是 49,等等...,从 0 到 9 的任何数字求和都会产生一个 ASCII 值介于'0'
和之间的数字'9'
。
推荐阅读
- r - 将 data.table 中的所有列转换为小写
- python - 是否可以将流保存在变量中?
- flutter - Icon旁边的Flutter Text不想正确应用TextOverflow.ellipsis
- java - 类型不匹配:无法从 int 转换为 Integer
- makefile - 您如何在构建规则中使用(GNU)make 的“简单扩展”变量而不得到最后的定义?
- angular - Angular websocket无法连接到服务器
- sql - Oracle查询:当只有一条记录时,WHERE NOT LIKE不排除记录
- javascript - 如何使用这个现有的用户数据库并在新项目中实现用户身份验证?
- r - 是否有任何R函数或包来计算两个不同行同时具有相同值的列数,然后制作对角矩阵
- html - HTML href 问题 - ..\ 在此语句中做了什么?