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.

103 lines
2.9 KiB

4 years ago
  1. Tee ohjelma Palkka, joka kysy käyttäjältä bruttopalkan, veroprosentin ja iän. Ohjelma laskee käteen jäävän osuuden palkasta sekä verojen, työttömyysvakuutuksen (1.5%) ja työeläkemaksun. Työeläkemaksu on 53-62 vuotiaalla 8.25% ja muilla 6.75%.
  2. Veron osuus on palkka * veroprosentti / 100.0
  3. Työeläkevakuutusmaksun osuus on palkka * XX, missä XX on joko 0.0825 tai 0.0675 riippuen iästä
  4. Työttömyysvakuutuksen osuus on palkka * 0.015
  5. Käteen jäävä osuus on palkka - vero - työttömyysvakuutus - työeläkevakuutusmaksu
  6. ```
  7. Example output:
  8. Anna palkka: 3000
  9. Anna veroprosentti: 20
  10. Anna ikä: 25
  11. Bruttopalkka 3000
  12. Veron osuus 600,00
  13. Työeläkevakuutusmaksun osuus 202,50
  14. Työttömyysvakuutuksen osuus 45,00
  15. Käteen jää 2152,50
  16. ```
  17. --------------------
  18. **Palkka.java**
  19. ```
  20. import java.text.DecimalFormat;
  21. import java.util.Scanner;
  22. import java.util.InputMismatchException;
  23. public class Palkka {
  24. public static void main(String[] args) {
  25. DecimalFormat r2 = new DecimalFormat("0.00");
  26. Scanner syote = new Scanner(System.in);
  27. try {
  28. System.out.print("Anna palkka: ");
  29. double palkka = syote.nextDouble();
  30. if (palkka < 0 || palkka > 100000) {
  31. throw new InputMismatchException();
  32. }
  33. System.out.print("Anna veroprosentti: ");
  34. double veroprosentti = syote.nextDouble();
  35. if (veroprosentti < 0) {
  36. throw new InputMismatchException();
  37. }
  38. System.out.print("Anna ikä: ");
  39. int ika = syote.nextInt();
  40. double tyoelakemaksu = 0;
  41. if (ika < 0 || ika > 120) {
  42. throw new InputMismatchException();
  43. }
  44. if (ika >= 53 && ika <= 62) {
  45. tyoelakemaksu = 0.0825;
  46. } else {
  47. tyoelakemaksu = 0.0675;
  48. }
  49. int bruttopalkka = (int)palkka;
  50. double vero_osuus = palkka * veroprosentti / 100.0;
  51. double tyoelakevakuutusmaksu_osuus = palkka * tyoelakemaksu;
  52. double tyottomyysvakuutus_osuus = palkka * 0.015;
  53. double kulut = vero_osuus + tyoelakevakuutusmaksu_osuus + tyottomyysvakuutus_osuus;
  54. double kateen_jaa_euroina = bruttopalkka - kulut;
  55. System.out.printf(
  56. "Bruttopalkka %s\n" +
  57. "Veron osuus %s\n" +
  58. "Työeläkevakuutusmaksun osuus %s\n" +
  59. "Työttömyysvakuutuksen osuus %s\n" +
  60. "Käteen jää %s",
  61. bruttopalkka,
  62. r2.format(vero_osuus),
  63. r2.format(tyoelakevakuutusmaksu_osuus),
  64. r2.format(tyottomyysvakuutus_osuus),
  65. r2.format(kateen_jaa_euroina)
  66. );
  67. } catch (InputMismatchException e) {
  68. System.err.println("Virheellinen syöte");
  69. System.exit(1);
  70. }
  71. }
  72. }
  73. ```