Avatar billede t_mons Nybegynder
10. november 2004 - 12:19 Der er 2 kommentarer og
1 løsning

ønsker er løbe igennem et år (2005) og udskrive en linie pr dag

Hey

min inparam er (String year, HaspMap timer)

Ønsker derefter er løbe igennem året(f.eks. 2005)
og udskrive hver dag pr. ny linie (f.eks. System.out.println(day))

derudover har jeg et hashMap der indholder:
Key=Mandag value=7,5
Key=Tirsdag value=6,0
Key=Onsdag value=6,0
Key=Torsdag value=6,0
Key=Fredag value=5,0
Key=Lørdag value=3,0
Key=Søndag value=6,5


derfor ønsker jeg at man kan udskrive dato + den value datoen har..

hvis 09-11-2004 = Tirsdag så skal udskriften se således ud: 09-11-2004 = 6,0



dvs.
en lykke der gennemløber et vilkårligt år
og udskriver dagene
men man skal samtidig kigge på hvilken dag, datoen er for at udskrive timerne på den enkelte ugedag.

giver dette mening..
Avatar billede arne_v Ekspert
10. november 2004 - 13:11 #1
import java.util.*;

public class TheYear {
    public static void main(String[] args) {
        HashMap timer = new HashMap();
        timer.put(new Integer(Calendar.MONDAY), new Double(7.5));
        timer.put(new Integer(Calendar.TUESDAY), new Double(6.0));
        timer.put(new Integer(Calendar.WEDNESDAY), new Double(6.0));
        timer.put(new Integer(Calendar.THURSDAY), new Double(6.0));
        timer.put(new Integer(Calendar.FRIDAY), new Double(5.0));
        timer.put(new Integer(Calendar.SATURDAY), new Double(3.0));
        timer.put(new Integer(Calendar.SUNDAY), new Double(6.5));
        process("2005", timer);
    }
    public static void process(String year, HashMap timer) {
        int y = Integer.parseInt(year);
        Calendar cal = new GregorianCalendar();
        cal.set(Calendar.YEAR, y);
        cal.set(Calendar.MONTH, Calendar.JANUARY);
        cal.set(Calendar.DAY_OF_MONTH, 1);
        while(cal.get(Calendar.YEAR) == y) {
            System.out.println(cal.getTime() + " = " + timer.get(new Integer(cal.get(Calendar.DAY_OF_WEEK))));
            cal.add(Calendar.DAY_OF_MONTH, 1);
        }
    }
}
Avatar billede t_mons Nybegynder
10. november 2004 - 14:41 #2
undskyld mit sene svar

perfekt 

hvordan laver jeg cal.getTime() om til f.eks. "19-10-2004 00:00:00"
Avatar billede arne_v Ekspert
10. november 2004 - 14:46 #3
Prøv:

DateFormat df = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
String s = df.format(cal.getTime());
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester