java - 用什么方法实现短信验证码
巴扎黑
巴扎黑 2017-04-18 09:58:42
[Java讨论组]
 public static String getNum(){
    Random random=new Random();
    String num=random.nextInt(10000)+"";
    if(num.length()!=4){  
      return getNum();  
  }  
    return num;
  }

这种方法不知道可行吗

巴扎黑
巴扎黑

全部回复(3)
PHP中文网
String str = Double.toString(Math.random()).replace("0.", "");

你可以从这个字符串里面任意截取就行
高洛峰

你这个可能会出现java.lang.StackOverflowError的情况

ringa_lee

生成4位的验证码还用到递归……我也是醉了

public static String getNum() {
    Random random = new Random();
    char[] code = new char[4];
    for (int i = 0; i < code.length; i++) {
        code[i] = (char) (48 + random.nextInt(10));
    }
    return new String(code);
}

还有个更简单的

public static String getNum() {
    Random random = new Random();
    int code = 1000 + random.nextInt(10000 - 1000);
    return Integer.toString(code);
}

顺便,你看看我这个代码格式,和你那个代码格式,哪个看起来更清楚?注意缩进呵。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号