黑马程序员技术交流社区

标题: 简单的4位验证码程序,为什么会输出四位以上呢!! [打印本页]

作者: 刘长辉    时间: 2013-7-4 16:00
标题: 简单的4位验证码程序,为什么会输出四位以上呢!!
  1. class TestRandom {
  2. public static void main(String []args) {
  3. System.out.println(validate());
  4. }
  5. public static char getUpperCase() {
  6. return (char)((int)(Math.random()*26+65));
  7. }
  8. //A-Z
  9. public static char getLowerCase() {
  10. return (char)((int)(Math.random()*26+97));
  11. }
  12. //a-z
  13. public static int getNum() {
  14. return (int)(Math.random()*10);

  15. }
  16. public static int getPos() {
  17. return (int)(Math.random()*3);
  18. }
  19. public static String validate() {
  20. String str="";
  21. for(int i=0;i<4;i++) {
  22. int z=getPos();
  23. switch(z) {
  24. case 0:
  25. str+=getUpperCase();
  26. break;
  27. case 1:
  28. str+=getLowerCase();
  29. default:
  30. str+=getNum();
  31. }
  32. }
  33. return str;
  34. }
  35. }
复制代码

作者: herui    时间: 2013-7-4 16:45
哥,case 1:后面的break呢?
作者: 刘长辉    时间: 2013-7-5 21:33
好低级的错误,我还一直以为我的 循环有问题呢!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2