java - 如何根据java中的模式生成随机数/字符串?

标签 java parsing random pattern-matching

我想根据如下模式生成一个随机数:

random.int= pattern="[0-9]{%len%}"   
random.big_integer= pattern="[0-9]{%len%}"  
random.long= pattern="[0-9]{%len%}"   
random.string= pattern="[A-Z][a-z]{0,%len%}"  
random.char= pattern="[A-Z]{1}"  
random.byte= pattern="[A-Z][0-9]{1}"  
random.short= pattern="[0-9]{%len%}"  
random.float= pattern="[0-9]{%len%}\\.[0-9]{%scl%}"  
random.double= pattern="[0-9]{%len%}\\.[0-9]{%scl%}"  
random.big_decimal= pattern="[0-9]{%len%}\\.[0-9]{%scl%}"  

所以,我的输入将是“len”、“scl”和数据类型。基于这些输入, 我必须读取相应的模式并生成输出。这个输出应该 单次运行期间的每次调用都是随机的。如果我重新运行程序,输出应该是相同的。

在 JAVA 中实现这一目标的最佳方法是什么?

例如,如果我调用generateRandomOutput("float",5,2) [datatype,length,scale]我的输出 应该有一个随机 float ,例如:21453.67(这基于上述模式“random.float”)

最佳答案

简单来说,就是基础的改变。您可以通过获取 Math.random 并乘以 26 来生成随机字符,结果会告诉您随机字母在字母表中的位置 ([A-Z])。

获取包含两个随机字符的字符串需要乘以 26^2 并将数字更改为基数 26(或者获取一个随机数乘以 26 两次)。

关于java - 如何根据java中的模式生成随机数/字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12885222/

相关文章:

java - Liferay hibernate 异常

java - EnumTranslator bean 未注入(inject)(为 null)

JavaFX - 创建响应式布局

python - 使用 Joblib 的随机数生成器

java - 代码没有错误,但模拟器表示应用已停止

javascript - 在 Breeze 中将字符串解析为谓词

java - NumberFormat.parse 返回意外结果

rest - 解析服务器 SSL IIS

matlab - 如何生成指向随机方向且具有各向同性方向分布的单位向量?

C++随机数不是随机的