Java fundamentals through coding exercises
 

2.2 KiB

Tee ohjelma Kotitalousvahennys, joka laskee käyttäjän saaman kotitalousvähennyksen määrän. Työkorvausten euromääriä kysytään niin kauan, kunnes käyttäjä antaa korvauksen määräksi nolla. Kotitalousvähennyksen määrä on 50 % työkorvauksesta. Kotitalousvähennyksen vähimmäismäärä on 0 euroa ja enimmäismäärä 2 400 euroa. Vähennyksen omavastuu on 100 euroa. Kotitalousvähennys lasketaan työkorvausten summa * 50 / 100.0 - omavastuu.

Example output:
Anna työkorvauksen määrä (0 lopettaa): 2000,0
Anna työkorvauksen määrä (0 lopettaa): 1000,0
Anna työkorvauksen määrä (0 lopettaa): 3000,0
Anna työkorvauksen määrä (0 lopettaa): 0
Kotitalousvähennyksen määrä on 2400,00 euroa

Kotitalousvahennys.java

import java.util.Scanner;
import java.text.DecimalFormat;
import java.util.InputMismatchException;
public class Kotitalousvahennys {
public static void main(String[] args) {
DecimalFormat r2 = new DecimalFormat("0.00");
double omavastuu = 100, tyokorvaus = 0;
while (true) {
System.out.print("Anna työkorvauksen määrä (0 lopettaa): ");
try {
Scanner syote = new Scanner(System.in);
double syote_tyokorvaus = syote.nextDouble();
if (syote_tyokorvaus < 0) {
System.err.println("Työkorvauksen määrä ei voi olla negatiivinen luku. Ohitetaan syöte");
continue;
} else {
tyokorvaus += syote_tyokorvaus;
}
if (syote_tyokorvaus == 0) {
break;
}
} catch (InputMismatchException e) {
System.err.println("Työkorvauksen täytyy olla luku. Ohitetaan syöte");
}
}
double kotitalousvahennys = (tyokorvaus * 50 / 100.0) - omavastuu;
if (kotitalousvahennys > 2400) {
kotitalousvahennys = 2400;
} else if (kotitalousvahennys < 0) {
kotitalousvahennys = 0;
}
System.out.printf("Kotitalousvähennyksen määrä on %s euroa", r2.format(kotitalousvahennys) );
}
}