慕桂英546537
看不明白,同年的话就是每个月都是连续的么? 不同年的呢,?2050-12特殊年月是何意?123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657public static boolean findThree(String[] years) { boolean flag = false; all: for (int i = 0; i < years.length; i++) { int num = 0; for (int j = 0; j < years.length; j++) { if (years[i].equals(years[j])) num++; if (num == 3) flag = true; break all; } } return flag; } public static boolean tabCheck(String[] years) { //System.out.println(years[i].substring(0, 4)); boolean flag = false; for (int i = 0; i < years.length - 1; i++) { System.out.println(years[i].substring(0, 4)); System.out.println(years[i].substring(6, 7)); if (years[i].substring(0, 4).equals(years[i + 1].substring(0, 4)) && Integer.valueOf(years[i + 1].substring(6, 7)) - Integer.valueOf(years[i].substring(6, 7)) > 1) flag = true; break; } return flag; } public static void main(String[] args) { String[] years={"2012-01","2012-04","2012-05","2012-06","2012-07","2050-12"}; if(tabCheck(years)||findThree(years)) System.out.println("不合格"); else System.out.println("合格"); } ////////////////////////////////////////////////////////////////////// //如果只有两组年月的话,只有两种情况了,一种是同年隔一月, //一种是隔年首尾相接 public boolean IsNext(String[] years){ Arrays.sort(years); if(years[0].substring(0, 4).equals(years[1].substring(0, 4))){ if(Integer.valueOf(years[1].substring(6, 7))-Integer.valueOf(years[0].substring(6, 7))==1) return true; }else if(Integer.valueOf(years[1].substring(0, 4))-Integer.valueOf(years[0].substring(0, 4))==1&& Integer.valueOf(years[0].substring(6, 7))==12&&Integer.valueOf(years[1].substring(6, 7))==1){ return true; } return false; }