我有这4个阵列:
String[] dayFormats = {"d"};
String[] monthFormats = {"MM","MMM","MMMM"};
String[] yearFormats = {"yy","yyyy"};
String[] sepFormats = {" ",".","/"};
然后我希望用它们的所有概率填充ArrayList,如下所示:
获取格式的所有概率,用户可以使用它输入日期。
我怎么能这样做? ,当然不是手动的方式!
答案 0 :(得分:1)
这样的事情:
String[] dayFormats = {"d"};
String[] monthFormats = {"MM","MMM","MMMM"};
String[] yearFormats = {"yy","yyyy"};
String[] sepFormats = {" ",".","/"};
String[][][] orders = { { dayFormats, monthFormats, yearFormats },
{ dayFormats, yearFormats, monthFormats },
{ monthFormats, dayFormats, yearFormats },
{ monthFormats, yearFormats, dayFormats },
{ yearFormats, dayFormats, monthFormats },
{ yearFormats, monthFormats, dayFormats } };
for (String[][] parts : orders)
for (String sep : sepFormats)
for (String p1 : parts[0])
for (String p2 : parts[1])
for (String p3 : parts[2])
System.out.println(p1 + sep + p2 + sep + p3);
输出(108种组合)
d MM yy
d MM yyyy
d MMM yy
d MMM yyyy
d MMMM yy
d MMMM yyyy
d.MM.yy
d.MM.yyyy
d.MMM.yy
d.MMM.yyyy
d.MMMM.yy
d.MMMM.yyyy
d/MM/yy
d/MM/yyyy
d/MMM/yy
d/MMM/yyyy
d/MMMM/yy
d/MMMM/yyyy
d yy MM
d yy MMM
d yy MMMM
d yyyy MM
d yyyy MMM
d yyyy MMMM
d.yy.MM
d.yy.MMM
d.yy.MMMM
d.yyyy.MM
d.yyyy.MMM
d.yyyy.MMMM
d/yy/MM
d/yy/MMM
d/yy/MMMM
d/yyyy/MM
d/yyyy/MMM
d/yyyy/MMMM
MM d yy
MM d yyyy
MMM d yy
MMM d yyyy
MMMM d yy
MMMM d yyyy
MM.d.yy
MM.d.yyyy
MMM.d.yy
MMM.d.yyyy
MMMM.d.yy
MMMM.d.yyyy
MM/d/yy
MM/d/yyyy
MMM/d/yy
MMM/d/yyyy
MMMM/d/yy
MMMM/d/yyyy
MM yy d
MM yyyy d
MMM yy d
MMM yyyy d
MMMM yy d
MMMM yyyy d
MM.yy.d
MM.yyyy.d
MMM.yy.d
MMM.yyyy.d
MMMM.yy.d
MMMM.yyyy.d
MM/yy/d
MM/yyyy/d
MMM/yy/d
MMM/yyyy/d
MMMM/yy/d
MMMM/yyyy/d
yy d MM
yy d MMM
yy d MMMM
yyyy d MM
yyyy d MMM
yyyy d MMMM
yy.d.MM
yy.d.MMM
yy.d.MMMM
yyyy.d.MM
yyyy.d.MMM
yyyy.d.MMMM
yy/d/MM
yy/d/MMM
yy/d/MMMM
yyyy/d/MM
yyyy/d/MMM
yyyy/d/MMMM
yy MM d
yy MMM d
yy MMMM d
yyyy MM d
yyyy MMM d
yyyy MMMM d
yy.MM.d
yy.MMM.d
yy.MMMM.d
yyyy.MM.d
yyyy.MMM.d
yyyy.MMMM.d
yy/MM/d
yy/MMM/d
yy/MMMM/d
yyyy/MM/d
yyyy/MMM/d
yyyy/MMMM/d
如果两个分隔符可以独立,请使用:
for (String[][] parts : orders)
for (String sep1 : sepFormats)
for (String sep2 : sepFormats)
for (String p1 : parts[0])
for (String p2 : parts[1])
for (String p3 : parts[2])
System.out.println(p1 + sep1 + p2 + sep2 + p3);