java - 将 3 添加到随机数的开头

标签 java

public static void setIdentificationNumber2(Staff a) {
    if ("Librarian".equals(a.getPosition())) {
        a.setIdentificationNumber(4 + (int) (Math.random() * 999999 + 1));
    } else {
        a.setIdentificationNumber(3 + (int) (Math.random() * 999999 + 1));
    }
}

只是想知道是否有一种方法可以将 3 添加到由此方法生成的任何随机数的开头,格式为 3XXXXXX。感谢您的帮助!

最佳答案

最简单的解决方案是从您的随机数创建一个字符串,将 "3" 添加到前面,然后将其解析回 int:

int randomNumber = (int) (Math.random() * 999999 + 1);
int identificationNumber = Integer.parseInt("3" + Integer.toString(randomNumber));
a.setIdentificationNumber(identificationNumber);

如果您的号码必须始终为 7 位数字,那么您可以向其添加 3000000:

int randomNumber = (int) (Math.random() * 999999 + 1);
int identificationNumber = 3_000_000 + randomNumber;
a.setIdentificationNumber(identificationNumber);

关于java - 将 3 添加到随机数的开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55297141/

相关文章:

java - 在单元测试中访问私有(private)静态最终值的最佳实践

java - 用Java从互联网读取UTF-8编码的文本文件

java - 在运行时获取 JVM 可用的内存

java - 如何让 karaf rest 示例起作用?

java - 通过串口上传文件

java - Jackson 将整数解析为 double

java - 如何断言 JSON 节点具有分配给它们某些值的子节点?

Java:如何将传入的数据片段收集到正确终止的字符串中以供后续解析?

java - Java中什么会更快 : DB2 INSERT/SELECT or File Write/Read

java - 错误: Driver cannot be resolved to a variable- selenium java eclipse