Arbetad tid
Vi ska göra en beräkning av arbetad tid på en månad, vi gör detta genom att skapa variabler för varje dag och varje vecka, sedan skapar vi en variabel för hela månaden.
Kod
Då det är fyra veckor kommer vi att markera varje dag med siffra för vilken
vecka den tillhör. Vi ska också skapa en variabel för varje dag och vecka.
Vi kommer att använda oss av float för att kunna använda decimaler, för att float är i jämförelse mot double mindre minneskrävande och vi behöver inte så många decimaler.
class Main { public static void main(String[] args) {
// Vecka 1 float monday = 7.5; // 7 timmar och 30 minuter float tuesday = 8; float wednesday = 8; float thursday = 9; // Personal möte float friday = 6; float week = monday + tuesday + wednesday + thursday + friday; float throughAverageWeek = week / 5;
// Vecka 2 float monday = 8; float tuesday = 8.5; float wednesday = 8.5; float thursday = 9; // Personal möte float friday = 5.5; float week = monday + tuesday + wednesday + thursday + friday; float throughAverageWeek = week / 5;
// Vecka 3 float monday = 8.5; float tuesday = 8.5; float wednesday = 8.5; float thursday = 9; // Personal möte float friday = 6; float week = monday + tuesday + wednesday + thursday + friday; float genomsnittVecka3 = week / 5;
// Vecka 4 float monday = 8; float tuesday = 8.5; float wednesday = 8.5; float thursday = 9; // Personal möte float friday = 6; float week = monday + tuesday + wednesday + thursday + friday; float genomsnittVecka4 = week / 5;
// Månad float month = week + week + week + week; float genomsnittMåmnad = throughAverageWeek + throughAverageWeek + genomsnittVecka3 + genomsnittVecka4;
// Rapport System.out.println("Arbetad tid denna månad: " + month + " timmar"); System.out.println("Genomsnittlig arbetad tid per vecka: " + genomsnittMåmnad + " timmar"); System.out.println("Genomsnittlig arbetad tid per dag: " + genomsnittMåmnad / 5 + " timmar");
}}Detta ger oss resultatet
Arbetad tid denna månad: 160.0 timmarGenomsnittlig arbetad tid per vecka: 40.0 timmarGenomsnittlig arbetad tid per dag: 8.0 timmarAndra tillvägagångssätt
Vårt projekt, även med sin enkla form har en helt klart tydlig kod som är lätt att förstå och lätt att läsa, och som du faktiskt kan använda. Enda nackdelen är kanske att du får skriva minuter i decimalform, det går att lösa.
float wednesday = 8 + 15/60; // 8 timmar och 15 minuter, eller 8.25 timmarJava har inbyggda funktioner för att räkna ut tid också, den heter LocalTime, men tyvärr arbetar den med heltal, så vi får omvandla och göra koden rörigare.
LocalTime wednesday = LocalTime.of(8, 15); // 8 timmar och 15 minuter float wednesday = wednesday.getHour() + wednesday.getMinute() / 60; // 8.25 timmarLärdomar av detta
- Bra namngivning av variabler gör koden lättare att läsa
- Beräkning av minuter kan vara bråkigt
- Vår kod är som ett Excel-blad
- Lättöverskådlig
- Lätt att förstå
- Lätt att använda
- Lätt att ändra
- Lätt att felsöka
- Vi använder variabler för allt som innebär saker vi ska hålla koll på
- Variablerna är våra “minneslappar” för att hålla koll på saker
Summan av kardemumman
Vi har skapat variabler för varje dag och vecka, sedan har vi skapat en variabel för hela månaden. Vi har också skapat en variabel för genomsnittlig arbetad tid per vecka och dag. Vi har använt oss av float för att kunna använda decimaler, för att float är i jämförelse mot double mindre minneskrävande och vi behöver inte så många decimaler.
Men då vi är programmerare vill vi förenkla detta, vilket vi självklart kan göra med hjälp av loopar, metoder, listor… men det är sådant vi ska titta på längre fram i denna bok.