public class Test_4 {
public static void main(String[] args) {
//创建集合,存储所有排列
ArrayList<String> list = new ArrayList<>();
int num = 0;
for (int i = 1; i < 5; i++) {
for (int j = 1; j < 5; j++) {
if (j != i) {
for (int k = 1; k < 5; k++) {
if (k != i && k != j) {
for (int z = 1; z < 5; z++) {
if (z != i && z != j && z != k) {
num = i * 1000 + j * 100 + k * 10 + z; list.add(num+" ");
}
}
}
}
}
}
}
System.out.println("1234四个数字的所有排序方式共有"+list.size()+"种,如下:");
System.out.println(list);
for (int i = 0; i < list.size(); i++) {
//如果可能排列以4开头,则去除
if (list.get(i).startsWith("4")) {
//i在这里需要--,以免有漏掉的
list.remove(i--);
}else if(list.get(i).contains("13") || list.get(i).contains("31")) {
//i在这里也需要--,以免有漏掉的
list.remove(i--);
}
}
System.out.println("符合要求的有"+list.size()+"种,如下:");
System.out.println(list);
}
}