|
|
- Peltipoliisi on 80 nopeusrajoitusalueella. Jos alueella ajaa ylinopeutta korkeintaan 20 kilometriä tunnissa, saa rikesakon. Jos ylinopeus on yli 20 kilometriä, tulee päiväsakkoa. Päiväsakon rahamäärä määräytyy vähentämällä nettokuukausituloista peruskulutusvähennys 255 euroa ja jakamalla saatu erotus luvulla 60 eli (nettotulo-255)/60. Päiväsakon alin euromäärä on vähintään 6 euroa.
-
- Tee ohjelma Peltipoliisi, joka kertoo, menikö ajetulla nopeudella rikesakolle vai päiväsakolle. Jos meni päiväsakolle, kerro yhden päiväsakon määrä. Jos annettu nopeus ei ole ylinopeutta, tulostaa ohjelma "Ei sakkoja". Jos tulee vain rikesakko, tulostaa ohjelmasi vain tekstin "Rikesakko".
-
- Mikäli ylinopeus on yli 20 km/h, täytyy ohjelmasi tulostaa teksti "Päiväsakko" ja kysyä kuljettajan kuukausitulot. Lopuksi tulosta yhden päiväsakon määrä annetuilla tuloilla esimerkkisuorituksen mukaisesti.
-
- ```
- Example output:
- Anna nopeutesi: 101
- Päiväsakko
- Anna nettokuukausitulosi: 400,00
- Päiväsakon määrä on 6,00 euroa
- ```
-
- --------------------
-
- **Peltipoliisi.java**
-
- ```
- import java.text.DecimalFormat;
- import java.util.Scanner;
- import java.util.InputMismatchException;
-
- public class Peltipoliisi {
-
- public static void main(String[] args) {
-
- DecimalFormat r2 = new DecimalFormat("0.00");
- Scanner syote = new Scanner(System.in);
-
- int rajoitusalue = 80;
-
- try {
-
- System.out.print("Anna nopeutesi: ");
- double nopeus = syote.nextDouble();
-
- if (nopeus < 0 || nopeus > 999) {
- throw new InputMismatchException();
- }
-
- if (nopeus <= rajoitusalue + 20) {
- // rikesakko
- System.out.println("Rikesakko");
-
- }else if (nopeus >= rajoitusalue + 20) {
-
- int peruskuluvahennys = 255;
-
- // päiväsakko
- System.out.println("Päiväsakko");
-
- System.out.print("Anna nettokuukausitulosi: ");
- double nettotulo = syote.nextDouble();
-
- if (nettotulo < 0) {
- throw new InputMismatchException();
- }
-
- double paivasakko_maara = (nettotulo - peruskuluvahennys) / 60;
-
- if (paivasakko_maara < 6) {
- paivasakko_maara = 6;
- }
-
- System.out.print("Päiväsakon määrä on " + r2.format(paivasakko_maara) + " euroa");
-
- } else {
- System.out.println("Ei sakkoja");
- }
-
-
- } catch (InputMismatchException e) {
- System.err.println("Virheellinen syöte");
- System.exit(1);
- }
-
- System.exit(0);
- }
-
- }
- ```
|