student878 utworzono 31 stycznia 2013 utworzono 31 stycznia 2013 mam problem z zadaniem które ma pobierać dwie daty i wypisywać wszystkie daty które sa w przedziale od jednej do drugiej. ja sobie wymyśliłem to tak ze obliczę różnice dni pomiędzy tymi datami i pozniej zrobię pętlę która bedzie zwiekszała ilość dni i miesięcy od pierwszej daty tyle razy ile bedzie wynosiła różnica dni. pod spodem wklejam kod w którym nie wiem jak zrobić te pętle import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.GregorianCalendar; import javax.swing.JOptionPane; public class Zadanie2 { public static void main(String[] args) throws ParseException { String a = JOptionPane.showInputDialog("Podaj pierwszą datę w postaci YYYY-MM-DD!!"); System.out.println(a); int dzien1 = Integer.parseInt(a.substring(0, 4))-1900; int miesiac1 = Integer.parseInt(a.substring(5, 7)) - 1; int rok1 = Integer.parseInt(a.substring(8, 10)); Date data1 = new Date(rok1, miesiac1, dzien1); String b = JOptionPane.showInputDialog("Podaj drugą datę w postaci YYYY-MM-DD!!"); System.out.println(b); int dzien2 = Integer.parseInt(b.substring(0, 4))-1900; int miesiac2 = Integer.parseInt(b.substring(6, 7)) - 1; int rok2 = Integer.parseInt(b.substring(8, 10)); Date data2 = new Date(rok2, miesiac2, dzien2); long roznica = Math.abs(data1.getTime() - data2.getTime()); long ilość_dni = roznica / ((long) (1000 * 60 * 60 * 24)); for (int i=1;i<=ilość_dni;i++) { for (int j=dzien1;j<=dzien2;j++) { System.out.println(j); } } System.out.println("różnica dni "+ ilość_dni); } }
didek102 komentarz 3 kwietnia 2014 komentarz 3 kwietnia 2014 Da się łatwiej. Wrzystkie dni, miesiące, lata itd. w dwóch datach zamień na minsek. a potem je odejmij i to co ci wyszło zamień na dni. Pętle daj po dodaniu long aż do końca klasy main i na kończu pętli dodaj do dat tyle ile chcesz
Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!
Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.