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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蔡爽 中级黑马   /  2014-7-28 13:39  /  1219 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

用0-9的阿拉伯数字,组成一组5位长的密码n1n2n3n4n5,要求n1=n5,n1<n2<n3>n4>n5,请用编程实现 比如说:0< 1 < 2 > 1>0 ,怎么办?、

3 个回复

倒序浏览
有输入吗?输出什么?看不太懂你的所求,是要所有的密码吗?
回复 使用道具 举报
  1. public static void main(String[] args) {
  2.         ArrayList<String> passwords = getPasswords();
  3.        
  4.         for (String password : passwords) {
  5.                 System.out.println(password);
  6.         }
  7.        
  8.         System.out.println("arrayList.size()\t"+passwords.size());
  9.        
  10.         String password = getPassword(passwords);
  11.         System.out.println(password);
  12. }

  13. private static String getPassword(ArrayList<String> passwords) {
  14.         String password = passwords.get(new Random().nextInt(passwords.size()));
  15.         return password;
  16. }

  17. private static ArrayList<String> getPasswords() {
  18.         ArrayList<String> passwords = new ArrayList<String>();
  19.        
  20.         for (int n1 = 0; n1 < 10; n1++) {
  21.                 for (int n2 = n1 + 1; n2 < 10; n2++) {
  22.                         for (int n3 = n2 + 1; n3 < 10; n3++) {
  23.                                 for (int n4 = 0; n4 < n3; n4++) {
  24.                                         for (int n5 = 0; n5 < n4; n5++) {
  25.                                                 passwords.add(new StringBuilder().append(n1)
  26.                                                                 .append(n2).append(n3).append(n4)
  27.                                                                 .append(n5).toString());
  28.                                         }
  29.                                 }
  30.                         }
  31.                 }
  32.         }
  33.         return passwords;
  34. }
复制代码


这是得到所有符合要求的密码
回复 使用道具 举报
  1.         private static void getPsw() {
  2.                 Random random = new Random();
  3.                 int n3 = 2+random.nextInt(8);
  4.                 int n2 = 1+random.nextInt(n3-1);
  5.                 int n4 = 1+random.nextInt(n3-1);
  6.                 int n1 = random.nextInt(n2);
  7.                 int n5 = random.nextInt(n4);
  8.                 String password = ""+n1+n2+n3+n4+n5;
  9.                 System.out.println(password);
  10.         }
复制代码


这是得到一个随机密码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马