黑马程序员技术交流社区

标题: java验证码小白问题怎么加if语句判断是否正确 [打印本页]

作者: 王石金    时间: 2014-7-16 23:31
标题: java验证码小白问题怎么加if语句判断是否正确
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);

        }
}

作者: 北极£莜蓝    时间: 2014-7-17 13:20
看起来没问题,测试下
作者: ddewym123    时间: 2014-7-17 17:33
  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-18 18:09
北极£莜蓝 发表于 2014-7-17 13:20
看起来没问题,测试下

比较器来就是不对
作者: 王石金    时间: 2014-7-18 18:19
谢谢了大神们谢谢了

作者: 北极£莜蓝    时间: 2014-7-26 14:52
好了,楼上的那个代码挺全的,用Eclipse可以看看错误提示,验证码一般忽略大小写,




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