黑马程序员技术交流社区
标题:
编程问题
[打印本页]
作者:
蔡爽
时间:
2014-7-28 13:39
标题:
编程问题
用0-9的阿拉伯数字,组成一组5位长的密码n1n2n3n4n5,要求n1=n5,n1<n2<n3>n4>n5,请用编程实现 比如说:0< 1 < 2 > 1>0 ,怎么办?、
作者:
Caincxy
时间:
2014-7-28 14:03
有输入吗?输出什么?看不太懂你的所求,是要所有的密码吗?
作者:
icris
时间:
2014-7-28 16:20
public static void main(String[] args) {
ArrayList<String> passwords = getPasswords();
for (String password : passwords) {
System.out.println(password);
}
System.out.println("arrayList.size()\t"+passwords.size());
String password = getPassword(passwords);
System.out.println(password);
}
private static String getPassword(ArrayList<String> passwords) {
String password = passwords.get(new Random().nextInt(passwords.size()));
return password;
}
private static ArrayList<String> getPasswords() {
ArrayList<String> passwords = new ArrayList<String>();
for (int n1 = 0; n1 < 10; n1++) {
for (int n2 = n1 + 1; n2 < 10; n2++) {
for (int n3 = n2 + 1; n3 < 10; n3++) {
for (int n4 = 0; n4 < n3; n4++) {
for (int n5 = 0; n5 < n4; n5++) {
passwords.add(new StringBuilder().append(n1)
.append(n2).append(n3).append(n4)
.append(n5).toString());
}
}
}
}
}
return passwords;
}
复制代码
这是得到所有符合要求的密码
作者:
icris
时间:
2014-7-28 16:29
private static void getPsw() {
Random random = new Random();
int n3 = 2+random.nextInt(8);
int n2 = 1+random.nextInt(n3-1);
int n4 = 1+random.nextInt(n3-1);
int n1 = random.nextInt(n2);
int n5 = random.nextInt(n4);
String password = ""+n1+n2+n3+n4+n5;
System.out.println(password);
}
复制代码
这是得到一个随机密码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2