写一个26字母和0-9数字 不同长度组合的输出,输出全部的时间不能超过2个小时。需要用多线程录
直接上代码
Password类
package com.more.util;
import java.util.Arrays;
public class Password {
static char[] word = new char[]{‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘h’,‘i’,‘g’,‘k’,‘l’
,‘m’,‘n’,‘o’,‘p’,‘q’,‘r’,‘s’,‘t’,‘u’,‘v’,‘w’,‘x’,
‘y’,‘z’,‘0’,‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’};
public static void main(String[] args) {
char [] password = new char[6];
//产生第1个字母
for (int i = 0;i <= 35;i++) {
password[0] = word[i];
//产生第2个字母
for (int j = 0;j <= 35;j++) {
password[1] = word[j];
//产生第3个字母
for (int k = 0;k <= 35;k++) {
password[2] = word[k];
//产生第4个字母
for (int l = 0;l <= 35;l++) {
password[3] = word[l];
//产生第5个字母
for (int m = 0;m <= 35;m++) {
password[4] = word[m];
//产生第6个字母
for (int n = 0;n <= 35;n++) {
password[5] = word[n];
System.out.println(new String(password));
}
}
}
}
}
}
}
}
PasswordThread类
package com.more.util;
public class PasswordThread {
static char[] word = new char[]{‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘h’,‘i’,‘g’,‘k’,‘l’
,‘m’,‘n’,‘o’,‘p’,‘q’,‘r’,‘s’,‘t’,‘u’,‘v’,‘w’,‘x’,
‘y’,‘z’,‘0’,‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’};
public static void main(String[] args) {
char [] password = new char[6];
//产生第1个字母
for (int i = 0;i <= 35;i++) {
password[0] = word[i];
//产生36条线程
new Thread(new Runnable() {
@Override
public void run() {
//产生第2个字母
for (int j = 0;j <= 35;j++) {
password[1] = word[j];
//产生36条哦线程
new Thread(new Runnable() {
@Override
public void run() {
//产生第3个字母
for (int k = 0;k <= 35;k++) {
password[2] = word[k];
new Thread(new Runnable() {
@Override
public void run() {
//产生第4个字母
for (int l = 0;l <= 35;l++) {
password[3] = word[l];
new Thread(new Runnable() {
@Override
public void run() {
//产生第5个字母
for (int m = 0;m <= 35;m++) {
password[4] = word[m];
//
new Thread(new Runnable() {
@Override
public void run() {
//产生第6个字母
for (int n = 0;n <= 35;n++) {
password[5] = word[n];
System.out.println(new String(password));
}
}
}).start();
}
}
}).start();
}
}
}).start();
}
}
}).start();
}
}
}).start();
}
}
}
直接可以使用



