Kann man das mit Java umsetzen?

  • Themenstarter Themenstarter exceljava
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
E

exceljava

Gast
Hi,

ich habe ein CSV-File, das so aussieht:

Code:
Produkt;Datum;Produzierte Menge;Abgesetzte Menge
A;01.01.2006;1070915;9803678
A;30.06.2006;9039286;3714027
A;27.12.2006;7598539;1639349
A;25.06.2007;7358019;2724186
A;22.12.2007;222059;6697836
A;19.06.2008;8679406;1491407
A;16.12.2008;3947091;1774514
A;14.06.2009;6085763;8801157
A;11.12.2009;6305203;1702889
A;09.06.2010;4380383;3998267
A;06.12.2010;5994403;4996019
A;04.06.2011;6322513;7226200
A;01.12.2011;;9317135

Ich möchte nun das CSV-File so auffüllen, dass die Tage als Beispiel zwischen dem 01.01.2006 und 30.06.2006 mit der produzierten und der abgesetzten Menge vom 01.01.2006 aufgefüllt werden. Und das bei den weiteren Perioden auch jeweils, aber immer mit der Menge des Anfangsdatums.
Falls nichts produziert oder abgesetzt wurde, so soll es einfach leer bleiben.

Kann man sowas in Java umsetzen? Wie schwer ist sowas?
 
Okay, dann versuche ich mich mal dran. 🙂 Ich frage dann einfach nach, wenn ich nicht weiterkomme..
 
Java:
	BufferedReader reader;
        String zeile=null;
		
        try {
        	reader = new BufferedReader(new FileReader("Menge.csv"));
            zeile = reader.readLine();
            while (!zeile.startsWith(";")) {             
                zeile = reader.readLine();
                String[] sep = zeile.split("[;]"); 
                
                SimpleDateFormat sdfToDate = new SimpleDateFormat( "dd.MM.yyyy" );
                Date date1 = sdfToDate.parse(sep[1]);
                System.out.println(date1.toString());
                
                //Hier möchte ich das Datum der NÄCHSTEN ZEILE haben
                String tmpZeile = reader.readLine();
                String[] tmpSep = tmpZeile.split("[;]");
                SimpleDateFormat sdfToDate2 = new SimpleDateFormat( "dd.MM.yyyy" );
                Date date2 = sdfToDate.parse(sep[1]);
                System.out.println(date2.toString());
                
                break;
                
            }
        }catch (IOException e) {
            System.err.println("Error2 :"+e);
        }

Mit obigem Code bekomme ich das Anfangsdatum. Wie komme ich allerdings an das Datum in der nächsten Zeile ran?
Und wie bestimme ich die Differenz zweier Datum-Objekte? Bitte keinen Pseudocode, mit Codeschnipsel wäre mir geholfen..
 
In dem du die nächste Zeile einliest.

Ah was! Darauf wäre ich ja niiiiiiiiiiiiiiiiiiiiiiiiiiiie gekommen.


Schau dir die Klasse [c]Calender [/c]an.

Java:
Calendar cal_1 = new GregorianCalendar();
Calendar cal_2 = new GregorianCalendar();
cal_1.setTime(date1);                    
cal_2.setTime(date2);                    
long time = cal_2.getTime().getTime() - cal_1.getTime().getTime(); 
long days = Math.round( (double)time / (24. * 60.*60.*1000.) );

Danke für Nichts!
 
Diese Arroganz ist doch zum Kotzen. Ich werde das schon selbst umsetzen. Auf so eine "Hilfe" pfeiffe ich.

Wenn ich frage, dann frage ich natürlich nach der Umsetzung davon in Java. Dass man die nächste Zeile einlesen muss, würde sogar einem 1. Klässler einleuchten.
 
Diese Arroganz ist doch zum Kotzen. Ich werde das schon selbst umsetzen. Auf so eine "Hilfe" pfeiffe ich.

Wenn ich frage, dann frage ich natürlich nach der Umsetzung davon in Java. Dass man die nächste Zeile einlesen muss, würde sogar einem 1. Klässler einleuchten.

Bei den Worten, die du an den Tag legst, hast du es nicht anders verdient. Du erwartest Hilfe und nicht andersrum. Hier wird dir sicherlich niemand deinen Code schreiben.
 
Ah komm hör doch auf mit so einem gequirlten Unsinn!!

Entweder man schreibt was vernünftiges oder lässt es sein. Nirgends habe ich verlangt, dass jemand meinen Code schreibt.


Mit obigem Code bekomme ich das Anfangsdatum. Wie komme ich allerdings an das Datum in der nächsten Zeile ran?

In dem du die nächste Zeile einliest.

Mit so etwas ist niemandem geholfen. Und der Code wie man an die nächste Zeile bekommt, ist für einen Javafirmen a) kein Beinbruch und b) wahrscheinlich eine Codezeile.

Viel Spaß beim Aufgeilen an euren Javakünsten.
 
Jaja, du bist schon ein ganz besonderer Hecht.


Mittlerweile habe ich das Programm schon geschrieben, funktioniert auch einwandfrei. Den Thread kann mal als gelöst markieren.
 
was bist du denn für n noob ?

mal ganz davon abgesehen das das was du da hast auch als "CSV" bezeichnet wird *comma separated value* und es dafür wunderschöne implementierungen in java gibt ... bist du echt n bissl strange

zu dem hier : "Nirgends habe ich verlangt, dass jemand meinen Code schreibt"

oh doch ... genau DAS hast du getan ...
ich zitiere dich wörtlich : "Bitte keinen Pseudocode, mit Codeschnipsel wäre mir geholfen.."

auch lustig finde ich ja deine frage bezüglich informationen der nächsten zeile

was denkst du denn wie man an die informationen der "nächsten zeile" kommt ... wenn man diese "nächste zeile" nicht einliest ?

es gibt in java nun mal so gut wie keine vorgefertigten pattern ... entweder du nimmst eine LIB oder baust alles selbst ...

und wenn dich das hier so annervt ... dann frag halt nicht


DU hast gefragt
DU hast die probleme
DU kannst es nicht alleine
DU stehst vor dem problem das du stress bekommst *in welcher art auch immer* wenn du es nicht rechtzeitig schaffst

WIR sind lediglich die die auf der anderen seite der scheibe sitzen und uns belustigend das popcorn reinwerfen ... *prost mahlzeit*

*das ist ja mal noch erbärmlicher als ich manchmal ... zugegebener maßen*
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben