方法一:通过数组实现
package test;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.ArrayList;import java.util.List;import java.util.Random;public class ListData {
public static void main(String[] args) throws IOException {
List<String> list = new ArrayList<String>();
Random rd = new Random();
String str1 = new String();
File file = new File("E:\date.txt");
FileWriter fis = new FileWriter(file);
File file_sort = new File("E:\date_sort.txt");
FileWriter fis_sort = new FileWriter(file_sort);
for (int i = 0; i < 444; i++) {
str1 = (rd.nextInt(31) % 12 + 1) + "-" + (rd.nextInt(32) % 31 + 1);
fis.write(str1 + "
");// list.add(str1);// System.out.println(str1);
}
fis.close();// list.add("8-2");// list.add("8-2");// list.add("8-2");// list.add("5-2");// list.add("5-2");// list.add("5-2");// list.add("5-2");// list.add("5-2");// list.add("8-2");// list.add("5-2");// list.add("5-3");// list.add("5-4");// list.add("5-5");// list.add("5-6");// list.add("5-7");// list.add("5-8");// list.add("5-9");// list.add("5-2");// list.add("5-2");// list.add("5-2");// list.add("5-2");// list.add("5-2");// list.add("5-2");// list.add("5-2");// list.add("8-2");// list.add("5-2");// list.add("5-2");// list.add("8-2");// list.add("5-2");// list.add("5-2");// list.add("8-1");// list.add("5-2");// list.add("5-2");// list.add("5-2");// list.add("5-2");// list.add("8-4");// list.add("5-2");// list.add("5-2");// list.add("5-2");// list.add("5-2");// list.add("8-5");// list.add("5-2");// list.add("5-2");// list.add("5-2");// list.add("5-2");// list.add("8-6");// list.add("8-7");// list.add("5-2");// list.add("5-2");// list.add("5-2");// list.add("1-1");// list.add("1-2");// list.add("1-4");// list.add("1-5");// list.add("1-6");// list.add("1-7");// list.add("1-8");// list.add("1-9");// list.add("1-5");// list.add("1-6");// list.add("8-3");// list.add("1-1");// list.add("1-2");// list.add("1-4");// list.add("1-5");// list.add("1-6");// list.add("1-7");// list.add("1-3");//
// list.add("1-12");// list.add("1-13");// list.add("1-14");// list.add("1-15");// list.add("1-16");// list.add("1-17");// list.add("1-18");
list.add("1-1");
list.add("1-2");
list.add("1-4");
list.add("1-5");
list.add("1-6");
list.add("1-7");
list.add("1-3");
list.add("1-12");
list.add("1-13");
list.add("1-14");
list.add("1-15");
list.add("1-16");
list.add("1-17");
list.add("1-18");
list.add("1-20");
list.add("1-21");
list.add("1-22");
list.add("1-23");
list.add("1-24");
list.add("1-25");
list.add("1-26");
list.add("1-27");
list.add("1-28");
list.add("1-29");
list.add("1-30");
list.add("1-31");
int[][] date = new int[12][32];
for (String str : list) {
int ri = Integer.parseInt(str.split("-")[1]) - 1;
int yue = Integer.parseInt(str.split("-")[0]) - 1;
date[yue][ri] = 1;
}
for (int i = 0; i < 12; i++) {
int[][] mark = new int[1][2];
int k = 0;
System.out.println("--------" + (i + 1) + "月" + "---------------");
fis_sort.write("-------" + (i + 1) + "月" + "---------------" + "
");
for (int j = 0; j < 31; j++) {
if (date[i][j] == 1) {
k++;
if (k >= 7 && date[i][j + 1] == 0) {
mark[0][0] = i;
mark[0][1] = j;
System.out.println((i + 1) + "月" + (j + 2 - k) + "日,开始连续" + k + "天");
fis_sort.write((i + 1) + "月" + (j + 2 - k) + "日,开始连续" + k + "天" + "
");
for (int l = j - k + 1; l <= j; l++) {
System.out.println((i + 1) + "月" + (l + 1) + "日");
fis_sort.write((i + 1) + "月" + (l + 1) + "日" + "
");
}
}
} else {
k = 0;
}
}
}
fis_sort.close();
}
}方法二:通过TreeSet实现
package test;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Map.Entry;import java.util.Random;import java.util.TreeSet;public class ListData_1 {
public static void main(String[] args) throws IOException {
List<String> list = new ArrayList<String>();
Random rd = new Random();
String str1 = new String();
File file = new File("E:\date.txt");
FileWriter fis = new FileWriter(file);
File file_sort = new File("E:\date_sort.txt");
FileWriter fis_sort = new FileWriter(file_sort);
for (int i = 0; i < 666; i++) {
str1 = (rd.nextInt(31) % 12 + 1) + "-" + (rd.nextInt(32) % 31 + 1);
fis.write(str1 + "
");// list.add(str1);// System.out.println(str1);
}
fis.close();
list.add("1-1");
list.add("1-2");
list.add("1-4");
list.add("1-5");
list.add("1-6");
list.add("1-7");
list.add("1-3");
list.add("1-12");
list.add("1-13");
list.add("1-14");
list.add("1-15");
list.add("1-16");
list.add("1-17");
list.add("1-18");
list.add("1-20");
list.add("1-21");
list.add("1-22");
list.add("1-23");
list.add("1-24");
list.add("1-25");
list.add("1-26");
list.add("1-27");
list.add("1-28");
list.add("1-29");
list.add("1-30");
list.add("1-31");
//取出来放到map
HashMap<Integer,TreeSet<Integer>> map=new HashMap<Integer,TreeSet<Integer>>();
TreeSet setValue=null;
for (String str : list) {
int ri = Integer.parseInt(str.split("-")[1]);
int yue = Integer.parseInt(str.split("-")[0]);
if(!map.containsKey(yue)) {
setValue=new TreeSet<Integer>();
setValue.add(ri);
map.put(yue, setValue);
}else {//baohan
setValue=map.get(yue);
setValue.add(ri);
map.put(yue, setValue);
}
}
for (Entry<Integer, TreeSet<Integer>> entry : map.entrySet()) {
// System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
int month=entry.getKey();
TreeSet<Integer> value=entry.getValue();
String v=value.toString().replace("[", "").replace("]", "").replaceAll(" ", "");// System.out.println(v);
String []splDate=v.split(",");
int []v_char_arr=new int[splDate.length];
for (int i=0;i<splDate.length;i++) {
v_char_arr[i]=Integer.parseInt(splDate[i]);
}
int k=0;// for (int v1 : v_char_arr) {
// System.out.print(v1+" ");//
// }
// System.out.println();//
for (int i=0;i<v_char_arr.length-2;i+=1) {
int v1=v_char_arr[i];
int v2=v_char_arr[i+1];
int v3=v_char_arr[i+2];
if(v2-v1==1) {
k++;// System.out.println(v3-v2);// System.out.println(i+2+"------");
if(k>=6&&((v3-v2)>1||(i+2)==v_char_arr.length-1)) {
System.out.println(month+"月"+(v2-k)+"日,开始连续"+(k+1)+"天");
}
//
}else {
k=0;
}
}
System.out.println();
}
}
}相关推荐:
以上就是【Java】两种方法找出一个月连续超过7天的日期的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号