Löner och skattesatser är påhittade för övningen och beskriver inte verklig skatt eller ett anställningsavtal.
Nyckelord: if-satsen, Scanner

Skriv ett program som räknar ut din nettolön
Linda vill ha hjälp att skriva ett program som hjälper henne att räkna ut hur mycket nettolön hon får ut för månaden, det vill säga lönen efter skatt. Skriv ett program som skriver ut hur mycket nettolön Linda får.
Lön
- Hon har en grundlön på 145 kr / timme.
- För de timmar hon jobbar övertid har hon en lön på 240 kr / timme.
Antal timmar
- Ifall hon jobbar över 160 timmar i månaden får hon övertidsersättning på de timmar som är över 160. Det vill säga, jobbar Linda 172 timmar så får hon grundlön för 160 timmar och övertidslön för 12 timmar.
- Programmet ska även ge ett felmeddelande ifall antal timmar är negativ eller större än 350.
Skatt
- Lönen som anges är bruttolön, det vill säga före skatt. Hon har 20% skatt på grundlön och 25% skatt på övertidslönen.
public static void main (String[] args) {
// Skriv din kod här
}
Ledtråd
Försök utan ledtråd denna gång ;-) Titta inte på lösningen för tidigt utan försök en extra gång själv först.
Lösning
// Importerar klassen Scanner
import java.util.Scanner;
public class Uppgift4 {
public static void main(String[] args) {
// Ange lön-variabler
int salaryPerHour = 145;
int salaryOvertime = 240;
// Ange andelen som är kvar efter skatt. Faktorn 0.8 och 0.75 är resultatet av 20% och 25% avdrag för skatt respektive
double taxes = 0.8;
double taxesOvertime = 0.75;
// Skapa en input från terminalen
Scanner input = new Scanner(System.in);
// Spara inputen från användaren
System.out.println("Ange antal jobbade timmar under månaden");
int hours = input.nextInt();
// Ge felmeddelande om antal timmar är ogiltliga. Stäng av programmet.
if (hours < 0 || hours > 350) {
System.out.println("Felaktig inmatning. Antal timmar måste vara mellan 0 och 350, inklusive gränserna!");
// Stänger av programmet
System.exit(0);
}
// Skapa en variabel för totala lönen. Detta behöver vi göra för att garantera att kompilatorn vet att
// variablen har skapats före utskriften.
double salary = 0;
// Första fallet är om arbetade timmar är lägre eller lika med 160
if (hours <= 160) {
salary = salaryPerHour * hours * taxes;
}
// Andra fallet är om det finns någon övertid
else if (hours > 160) {
// Beräkna antal övertidstimmar
int overtime = hours - 160;
//Beräkna totala lönen.
salary = (160 * salaryPerHour) * taxes + (overtime * salaryOvertime) * taxesOvertime;
}
// Skriv ut svaret
System.out.println("Lönen efter skatt blev: " + salary);
}
}