Java :: Aufgabe #314
4 Lösungen

Mobilfunkanbieter (Monatsabrechnung)
Anfänger - Java
von JKooP
- 07.11.2020 um 09:42 Uhr
Ein Mobilfunkanbieter stellt folgende Pakete zur Verfügung:
Paket-Typ....Basispreis....Freiminuten....Minutenpreis
P_Basis........2,95€..............0...................0,10€
P_100..........3.95€.............100................0,12€
P_300..........7,95€.............300................0,15€
P_600..........12,95€...........600................0,20€
P_Flat..........29,95€...........unbegrenzt.....0,00€
Schreibe eine Funktion/Methode, bei der sowohl der Paket-Typ als auch die telefonierten Minuten übergeben werden.
Als Ergebnis soll der Gesamtpreis inklusive Basispreis für den Monat ausgegeben werden.
Viel Spaß
Paket-Typ....Basispreis....Freiminuten....Minutenpreis
P_Basis........2,95€..............0...................0,10€
P_100..........3.95€.............100................0,12€
P_300..........7,95€.............300................0,15€
P_600..........12,95€...........600................0,20€
P_Flat..........29,95€...........unbegrenzt.....0,00€
Schreibe eine Funktion/Methode, bei der sowohl der Paket-Typ als auch die telefonierten Minuten übergeben werden.
Als Ergebnis soll der Gesamtpreis inklusive Basispreis für den Monat ausgegeben werden.
Viel Spaß
Lösungen:

/* Ein Mobilfunkanbieter stellt folgende Pakete zur Verfügung: Paket-Typ....Basispreis....Freiminuten....Minutenpreis P_Basis........2,95€..............0...................0,10€ 0 P_100..........3.95€.............100................0,12€ 1 P_300..........7,95€.............300................0,15€ 2 P_600..........12,95€...........600................0,20€ 3 P_Flat..........29,95€...........unbegrenzt.....0,00€ 4 Schreibe eine Funktion/Methode, bei der sowohl der Paket-Typ als auch die telefonierten Minuten übergeben werden. Als Ergebnis soll der Gesamtpreis inklusive Basispreis für den Monat ausgegeben werden. Viel Spaß Preis=Basispreis + Minutenpreis(telefonierteMinuten - Freiminuten) */ class Mobilfunkanbieter { static void Berechnung( int Paket, int Minuten){ double Preis = 1.00; if (Paket == 0) { Preis = 2.95 + 0.10 * Minuten; } if (Paket == 1) { Preis = 3.95 + 0.12 * (Minuten - 100); if (Preis < 3.95) { Preis = 3.95; } } if (Paket == 2) { Preis = 7.95 + 0.15 * (Minuten - 300); if (Preis < 7.95) { Preis = 7.95; } } if (Paket == 3) { Preis = 12.95 + 0.20 * (Minuten - 600); if (Preis < 12.95) { Preis = 12.95; } } if (Paket == 4) { Preis = 29.95; } System.out.println(Preis + " Euronen"); } public static void main(String[] args){ Berechnung(2, 301); } }
Hallo zusammen, mein Name ist Sebastian und ich bin dabei mir selbst Java beizubringen.
Da ja Übung den Meister macht habe ich Ihre Website gefunden.
Ich finde das Konzept sehr gut und werde in Zukunft mehr Aufgaben machen.
Auf Feedback zu den Lösungen etc. würde ich mich sehr freuen.
Ich habe eine statische Methode in einer separaten Klasse erstellt.
Ich denke mit der Switch Methode kann man die Abfrage den Users vergleichen und dann dementsprechend die Kosten berechnen.
Was ist Ihre Meinung zu der Lösung?
Java-Code
Da ja Übung den Meister macht habe ich Ihre Website gefunden.
Ich finde das Konzept sehr gut und werde in Zukunft mehr Aufgaben machen.
Auf Feedback zu den Lösungen etc. würde ich mich sehr freuen.
Ich habe eine statische Methode in einer separaten Klasse erstellt.
Ich denke mit der Switch Methode kann man die Abfrage den Users vergleichen und dann dementsprechend die Kosten berechnen.
Was ist Ihre Meinung zu der Lösung?

public class Mobilfunk { public static double PriceSum(String PacketTyp, int Minuten) { double endPreis = 0; switch (PacketTyp) { case "P_Basis": endPreis = 2.95 + (Minuten * 0.10); break; case "P_100": if (Minuten >= 100) { endPreis = 3.95 + ((Minuten - 100) * 0.12); } else { endPreis = 3.95; } break; case "P_300": if (Minuten >= 300) { endPreis = 7.95 + ((Minuten - 300) * 0.15); } else { endPreis = 7.95; } break; case "P_600": if (Minuten >= 600) { endPreis = 12.95 + ((Minuten - 600) * 0.20); } else { endPreis = 12.95; } break; case "P_Flat": endPreis = 29.95; break; default: break; } return endPreis; } }
Auf konstruktive Kritik / Verbesserungsvorschläge freue ich mich.
Main Klasse
Java-Code
Klasse Mobilfunk
Java-Code
Main Klasse

public class MobilfunkMain { public static void main(String[] args) { // Beispielaufruf mit Packet P_100 und 110 Minuten: System.out.println(Mobilfunk.PriceSum("P_100", 110)); } }
Klasse Mobilfunk

public class Mobilfunk { public static double PriceSum(String PacketTyp, int Minuten) { double endPreis = 0; switch (PacketTyp) { case "P_Basis": endPreis = 2.95 + (Minuten * 0.10); break; case "P_100": if (Minuten >= 100) { endPreis = 3.95 + ((Minuten - 100) * 0.12); } else { endPreis = 3.95; } break; case "P_300": if (Minuten >= 300) { endPreis = 7.95 + ((Minuten - 300) * 0.15); } else { endPreis = 7.95; } break; case "P_600": if (Minuten >= 600) { endPreis = 12.95 + ((Minuten - 600) * 0.20); } else { endPreis = 12.95; } break; case "P_Flat": endPreis = 29.95; break; default: System.out.println("Falsche Parametereingabe. Bitte eines der folgenden Packete als Parameter auswählen: \n P_Basis \n P_100 \n P_300 \n P_600 \n P_Flat \n"); break; } return endPreis; } }

public class Mobilfunkanbieter { public static void main(String[] args) { System.out.println("Der Gesamtpreis leigt bei: "+calculate(4, 1337)); } public static double calculate(int paketTyp, int minuten) { double preis = 0; if(paketTyp == 1) { preis = 2.95 + minuten * 0.1; } if(paketTyp == 2) { if(minuten <= 100) { preis = 3.95; } else { preis = 3.95 + (minuten - 100) * 0.12; } } if(paketTyp == 3) { if(minuten <= 300) { preis = 7.95; } else { preis = 7.95 + (minuten - 300) * 0.15; } } if(paketTyp == 4) { if(minuten <= 600) { preis = 12.95; } else { preis = 12.95 + (minuten - 600) * 0.20; } } if(paketTyp == 5) { preis = 29.95; } return preis; } }