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.

62 lines
2.2 KiB

4 years ago
  1. 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.
  2. ```
  3. Example output:
  4. Anna työkorvauksen määrä (0 lopettaa): 2000,0
  5. Anna työkorvauksen määrä (0 lopettaa): 1000,0
  6. Anna työkorvauksen määrä (0 lopettaa): 3000,0
  7. Anna työkorvauksen määrä (0 lopettaa): 0
  8. Kotitalousvähennyksen määrä on 2400,00 euroa
  9. ```
  10. --------------------
  11. **Kotitalousvahennys.java**
  12. ```
  13. import java.util.Scanner;
  14. import java.text.DecimalFormat;
  15. import java.util.InputMismatchException;
  16. public class Kotitalousvahennys {
  17. public static void main(String[] args) {
  18. DecimalFormat r2 = new DecimalFormat("0.00");
  19. double omavastuu = 100, tyokorvaus = 0;
  20. while (true) {
  21. System.out.print("Anna työkorvauksen määrä (0 lopettaa): ");
  22. try {
  23. Scanner syote = new Scanner(System.in);
  24. double syote_tyokorvaus = syote.nextDouble();
  25. if (syote_tyokorvaus < 0) {
  26. System.err.println("Työkorvauksen määrä ei voi olla negatiivinen luku. Ohitetaan syöte");
  27. continue;
  28. } else {
  29. tyokorvaus += syote_tyokorvaus;
  30. }
  31. if (syote_tyokorvaus == 0) {
  32. break;
  33. }
  34. } catch (InputMismatchException e) {
  35. System.err.println("Työkorvauksen täytyy olla luku. Ohitetaan syöte");
  36. }
  37. }
  38. double kotitalousvahennys = (tyokorvaus * 50 / 100.0) - omavastuu;
  39. if (kotitalousvahennys > 2400) {
  40. kotitalousvahennys = 2400;
  41. } else if (kotitalousvahennys < 0) {
  42. kotitalousvahennys = 0;
  43. }
  44. System.out.printf("Kotitalousvähennyksen määrä on %s euroa", r2.format(kotitalousvahennys) );
  45. }
  46. }
  47. ```