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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 葛晓东 中级黑马   /  2014-5-30 23:23  /  1340 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 葛晓东 于 2014-6-3 23:46 编辑
  1. </blockquote></div><div class="blockcode"><blockquote>package cn.itcast;
  2. /*
  3. 自己制作一个验证码
  4.   控制台输出 a1q3
  5.   接受控制台输入  Scanner 类的nextLine()
  6.   String code = nextLine();
  7.   if(code.equals("a1q3")){
  8.     验证码正确
  9.   }else
  10.      验证码错误
  11. 验证码6位随机数出现
  12. 要求码中,具备 字母 数字,汉字
  13. String s = "";
  14. 存储到数组 char []
  15. 随机数 arr[10] =啊
  16. s += arr[10]
  17. sop(s);
  18. 规定只能输三次
  19. */
  20. //调用包键盘输入字符串
  21. import java.util.Scanner;
  22. import java.util.Random;
  23. public class GetCode{
  24.         public static void main(String[] args){
  25.                 //键盘输入,转换成字符型数组
  26.                 Scanner sc = new Scanner(System.in);
  27.                 //定义密码中可能出现的元素并将这些元素全部存入一个数组中
  28.                 String[] str1 = new String[]{"a","b","c","5","1","2","4","6","唵","嘛","呢","叭","咪","哄","d","t","g"};
  29.                 //打印6位随机密码
  30.                 String code = "";
  31.                 for(int i=0;i<6;i++){
  32.                         int j = new Random().nextInt(str1.length-1);
  33.                         code+=str1[j];
  34.                 }
  35.                 System.out.println(code.toString());
  36.                 //为了提示,我们打印一句"请在键盘上输入字符串:"
  37.                 System.out.println("请在键盘上输入字符串:");
  38.                 //接收字符串
  39.                 String str = sc.nextLine();        
  40.                 for(int i = 0;i<3;i++){
  41.                         if(str.equals(code)){
  42.                                 System.out.println("输入正确,可以进入");
  43.                                 break;
  44.                         }else{
  45.                                 //判断输出次数
  46.                                 if((3-i-1)==0){
  47.                                      System.out.println("输入错误,你没有机会了");
  48.                                       break;
  49.                                 }
  50.                                 System.out.println("输入错误,你还有"+(3-i-1)+"次机会,请继续输入:");
  51.                                 str = sc.nextLine();
  52.                                 
  53.                         }
  54.                 }
  55.         }
  56. }
复制代码
为什么我把随机出来的6位密码抄上去输出结果是"输入有误",我试了好多次了,都是这样,是不是我的eclipse哪里设置错了?


5 个回复

倒序浏览
哥们,这程序输出结果是对的,可能是你那边的问题。
回复 使用道具 举报 1 0
luoanjade 发表于 2014-5-31 10:48
哥们,这程序输出结果是对的,可能是你那边的问题。

那是我的eclipse  那里设置错误了?我总不能每次都把结果抄错了吧?
回复 使用道具 举报 1 0
葛晓东 发表于 2014-5-31 10:51
那是我的eclipse  那里设置错误了?我总不能每次都把结果抄错了吧?

我刚才调试了一下。
第一次,我把产生出来的验证码复制下来,贴上去,“输入正确”。
第二次,手动输入,“输入正确”。
至于你那边什么原因就不知道了!
回复 使用道具 举报 1 0
你最好把错误也发出来,不过你可以试试复制System.out.println(code.toString());打印出来的字符串,粘贴到下面去,看看是不是还是错误的。
回复 使用道具 举报 1 0
你为谁归来 发表于 2014-5-31 11:01
你最好把错误也发出来,不过你可以试试复制System.out.println(code.toString());打印出来的字符串,粘贴到 ...

这个办法好
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马