我想根据如下模式生成一个随机数:
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/