Hallo zusammen... Ich muss ein kleines Programm schreiben, das Soll- und Ist-Liefertermine miteinander vergleicht. Die Sollwerte sollen in eine map und die Istwerte in eine list eingefügt werden.
Das Programm soll nun die Differenz der jeweiligen Daten in Tagen ausgeben.
Die jeweiligen Daten sollen mittels der GregorianDate Klasse erfasst werden.
Die Ausgabe und die Berechnung der Differenz soll mittels einer Schleife (for?) realisiert werden.
Ich habe hier mal meinen quellcode allerdings ohne Schleife, da ich das beim besten willen nicht gebacken bekomme
Kann mir da jemand sagen, wie ich das mittels einer Schleife gebacken bekomme? Ich steh total auf dem Schlauch.
Achja es ist beabsichtigt, dass die Daten bereits im Programm vorgegeben sind und nicht per Tastatureingabe eingelesen werden.
Danke im Voraus für die Hilfe
Das Programm soll nun die Differenz der jeweiligen Daten in Tagen ausgeben.
Die jeweiligen Daten sollen mittels der GregorianDate Klasse erfasst werden.
Die Ausgabe und die Berechnung der Differenz soll mittels einer Schleife (for?) realisiert werden.
Ich habe hier mal meinen quellcode allerdings ohne Schleife, da ich das beim besten willen nicht gebacken bekomme
Code:
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.HashMap;
public class uebung1 {
public static void main (String []args){
//Setzen der Sollwerte für die Lieferungen
GregorianCalendar Auftrag1 = new GregorianCalendar();
Auftrag1.set (2008, 10, 10);
GregorianCalendar Auftrag2 = new GregorianCalendar();
Auftrag2.set (2008, 12, 23);
GregorianCalendar Auftrag3 = new GregorianCalendar();
Auftrag3.set (2008, 10, 15);
GregorianCalendar Auftrag4 = new GregorianCalendar();
Auftrag4.set (2008, 7, 1);
GregorianCalendar Auftrag5 = new GregorianCalendar();
Auftrag5.set (2008, 6, 23);
//Umwandeln der Daten in das Simple Date Format
java.text.SimpleDateFormat sdf1 = new java.text.SimpleDateFormat("dd.MM.yyyy");
java.text.SimpleDateFormat sdf2 = new java.text.SimpleDateFormat("dd.MM.yyyy");
java.text.SimpleDateFormat sdf3 = new java.text.SimpleDateFormat("dd.MM.yyyy");
java.text.SimpleDateFormat sdf4 = new java.text.SimpleDateFormat("dd.MM.yyyy");
java.text.SimpleDateFormat sdf5 = new java.text.SimpleDateFormat("dd.MM.yyyy");
//Anlegen der Hashmap
HashMap<Integer, String > hmap = new HashMap<Integer, String> ();
hmap.put(1, sdf1.format(Auftrag1.getTime()));
hmap.put(2, sdf2.format(Auftrag2.getTime()));
hmap.put(3, sdf3.format(Auftrag3.getTime()));
hmap.put(4, sdf4.format(Auftrag4.getTime()));
hmap.put(5, sdf5.format(Auftrag5.getTime()));
//Tatsächliches Lieferdatum
GregorianCalendar Auftrag1_Ist = new GregorianCalendar();
Auftrag1_Ist.set (2008, 10, 12);
GregorianCalendar Auftrag2_Ist= new GregorianCalendar();
Auftrag2_Ist.set (2008, 12, 27);
GregorianCalendar Auftrag3_Ist = new GregorianCalendar();
Auftrag3_Ist.set (2008, 10, 19);
GregorianCalendar Auftrag4_Ist = new GregorianCalendar();
Auftrag4_Ist.set (2008, 7, 12);
GregorianCalendar Auftrag5_Ist = new GregorianCalendar();
Auftrag5_Ist.set (2008, 6, 22);
//Umwandeln in das Simple Date Format
java.text.SimpleDateFormat sdf1_Ist = new java.text.SimpleDateFormat("dd.MM.yyyy");
java.text.SimpleDateFormat sdf2_Ist = new java.text.SimpleDateFormat("dd.MM.yyyy");
java.text.SimpleDateFormat sdf3_Ist = new java.text.SimpleDateFormat("dd.MM.yyyy");
java.text.SimpleDateFormat sdf4_Ist = new java.text.SimpleDateFormat("dd.MM.yyyy");
java.text.SimpleDateFormat sdf5_Ist = new java.text.SimpleDateFormat("dd.MM.yyyy");
//Anlegen der Arraylisten
ArrayList<String> hlist = new ArrayList<String>();
hlist.add(sdf1_Ist.format(Auftrag1_Ist.getTime()));
hlist.add(sdf2_Ist.format(Auftrag2_Ist.getTime()));
hlist.add(sdf3_Ist.format(Auftrag3_Ist.getTime()));
hlist.add(sdf4_Ist.format(Auftrag4_Ist.getTime()));
hlist.add(sdf5_Ist.format(Auftrag5_Ist.getTime()));
//Ausgabe der einzelnen Lieferverzüge
// #1
System.out.println("Lieferverzug Auftrag 1 in Tagen:");
System.out.println("");
//Subtrahieren von Soll und Ist Lieferdatum
long time= Auftrag1.getTime().getTime() - Auftrag1_Ist.getTime().getTime();
//Umrechnen von ms in Tagen
long day = time/(86400000);
System.out.println (+day);
System.out.println("_______________________________________");
// #2
System.out.println("");
System.out.println("Lieferverzug Auftrag 2 in Tagen:");
System.out.println("");
//Subtrahieren von Soll und Ist Lieferdatum
long time2= Auftrag2.getTime().getTime() - Auftrag2_Ist.getTime().getTime();
//Umrechnen von ms in Tagen
long day2 = time2/(86400000);
System.out.println (+day2);
System.out.println("_______________________________________");
// #3
System.out.println("");
System.out.println("Lieferverzug Auftrag 3 in Tagen:");
System.out.println("");
//Subtrahieren von Soll und Ist Lieferdatum
long time3= Auftrag3.getTime().getTime() - Auftrag3_Ist.getTime().getTime();
//Umrechnen von ms in Tagen
long day3 = time3/(86400000);
System.out.println (+day3);
System.out.println("_______________________________________");
// #4
System.out.println("");
System.out.println("Lieferverzug Auftrag 4 in Tagen:");
System.out.println("");
//Subtrahieren von Soll und Ist Lieferdatum
long time4= Auftrag4.getTime().getTime() - Auftrag4_Ist.getTime().getTime();
//Umrechnen von ms in Tagen
long day4 = time4/(86400000);
System.out.println (+day4);
System.out.println("_______________________________________");
// #5
System.out.println("");
System.out.println("Lieferverzug Auftrag 5 in Tagen:");
System.out.println("");
//Subtrahieren von Soll und Ist Lieferdatum
long time5= Auftrag5.getTime().getTime() - Auftrag5_Ist.getTime().getTime();
//Umrechnen von ms in Tagen
long day5 = time5/(86400000);
System.out.println (+day5);
System.out.println("_______________________________________");
}
}
Kann mir da jemand sagen, wie ich das mittels einer Schleife gebacken bekomme? Ich steh total auf dem Schlauch.
Achja es ist beabsichtigt, dass die Daten bereits im Programm vorgegeben sind und nicht per Tastatureingabe eingelesen werden.
Danke im Voraus für die Hilfe