A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package yanzm;

import java.util.*;

public class yanzm {

        /**
         * @param args
         */

        public static String CheckCode(int len) {
                Scanner input = new Scanner(System.in);
                StringBuilder str = new StringBuilder();
       
                // String code ="[a-zA-Z][0-9]";
                String code = "abcdefghijkmnpqrstuvwxyzABCDEFGHIJKMNPQRSTUVWXYZ23456789";
                Random ran = new Random();

                for (int i = 0; i < len; i++) {
                        int index = ran.nextInt(code.length());
                        char ch = code.charAt(index);
                        str.append(ch);

                }

                System.out.println("原验证码?" + str);
                System.out.println("请输入验证码");
                String yzm = input.next();
                if (yzm.equals(str)) {
                        System.out.println("正确");

                } else {

                        System.out.println("输入有误");
                }

                return str.toString();
        }

        public static void main(String[] args) {
                CheckCode(4);

        }
}

5 个回复

倒序浏览
看起来没问题,测试下
回复 使用道具 举报
  1. public static String CheckCode(int len) {
  2.         Scanner input = new Scanner(System.in);
  3.         StringBuilder str = new StringBuilder();

  4.         // String code ="[a-zA-Z][0-9]";
  5.         String code = "abcdefghijkmnpqrstuvwxyzABCDEFGHIJKMNPQRSTUVWXYZ23456789";
  6.         Random ran = new Random();

  7.         for (int i = 0; i < len; i++) {
  8.                 int index = ran.nextInt(code.length());
  9.                 char ch = code.charAt(index);
  10.                 str.append(ch);

  11.         }

  12.         System.out.println("原验证码?" + str);
  13.         System.out.println("请输入验证码");
  14.         String yzm = input.next();
  15.         /*str是StringBuilder,yzm是String。当然不相同。
  16.               另外,验证码一般忽略大小写吧(?)*/
  17.         if (yzm.equalsIgnoreCase(str.toString())){
  18.             System.out.println("正确");

  19.         } else {
  20.             System.out.println("输入有误");
  21.         }
  22.         return str.toString();
  23.         }
复制代码


回复 使用道具 举报
北极£莜蓝 发表于 2014-7-17 13:20
看起来没问题,测试下

比较器来就是不对
回复 使用道具 举报
谢谢了大神们谢谢了
回复 使用道具 举报
好了,楼上的那个代码挺全的,用Eclipse可以看看错误提示,验证码一般忽略大小写,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马