Java fundamentals through coding exercises
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

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) );
}
}