schule:klassen:2019:10abc:kap2
Differences
This shows you the differences between two versions of the page.
| — | schule:klassen:2019:10abc:kap2 [2025/11/16 07:05] (current) – created - external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | === Übung: Passwortmanager === | ||
| + | Schreibe eine Klasse '' | ||
| + | |||
| + | ** Überlege: ** \\ | ||
| + | * Welche Funktionalität wird erwartet? | ||
| + | * Welche Attribute benötigt die Klasse? | ||
| + | * Welche Parameter sollten die Methoden haben? | ||
| + | |||
| + | <code java> | ||
| + | public class PasswortManager { | ||
| + | |||
| + | private String benutzername; | ||
| + | private String passwort; | ||
| + | |||
| + | public void setzeBenutzernameUndPasswort(String bn, String pw){ | ||
| + | benutzername = bn; | ||
| + | passwort = pw; | ||
| + | } | ||
| + | |||
| + | public boolean überprüfePasswort(String bn, String pw){ | ||
| + | if(bn.equals((benutzername))){ | ||
| + | if(pw.equals(passwort)){ | ||
| + | return true; | ||
| + | } | ||
| + | } | ||
| + | |||
| + | return false; | ||
| + | } | ||
| + | | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ====== 6. Die einseitige/ | ||
| + | === Aufgabe 1 === | ||
| + | Der Eintrittspreis eines Kinos wird nach folgender Tabelle bestimmt: | ||
| + | ^Personenkreis ^Alter ^Eintrittspreis ^ | ||
| + | |Kinder |Jünger als 13 Jahre |7,00 € | | ||
| + | |Jugendliche |13 - 17 Jahre |9,00 € | | ||
| + | |Erwachsene |18 - 59 Jahre |12,00 € | | ||
| + | |Senioren |älter als 59 Jahre |10,00 € | | ||
| + | |||
| + | Schreibe eine Funktion '' | ||
| + | |||
| + | <code java> | ||
| + | public double kinopreis(int alter){ | ||
| + | if(alter < 13){ | ||
| + | return 7; | ||
| + | } else { | ||
| + | if(alter <= 17){ | ||
| + | return 9; | ||
| + | } else { | ||
| + | if(alter <= 59){ | ||
| + | return 12; | ||
| + | } else { | ||
| + | return 10; | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | {{ : | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | **Wichtig: | ||
| + | * '' | ||
| + | * '' | ||
| + | </ | ||
| + | |||
| + | ==== Der Modulo-Operator % ==== | ||
| + | '' | ||
| + | <code java> | ||
| + | |||
| + | 10 % 3 == 1 | ||
| + | 17 % 5 == 2 | ||
| + | 21 % 3 == 0 | ||
| + | |||
| + | usw. | ||
| + | </ | ||
| + | |||
| + | |||
| + | ====Aufgabe 2:==== | ||
| + | Erstelle eine Methode tageImMonat(int monat, int jahr) , die nach Eingabe der Monatszahl (1 == Jan, 2 == Feb, …) und der Jahreszahl die Anzahl der Tage des Monats berechnet. | ||
| + | |||
| + | === Lösung ohne Beachtung von Schaltjahren === | ||
| + | <code java> | ||
| + | public class DatumsRechner | ||
| + | { | ||
| + | |||
| + | public int tageImMonat(int monat, int jahr){ | ||
| + | | ||
| + | if(monat == 2){ | ||
| + | | ||
| + | | ||
| + | | ||
| + | } | ||
| + | | ||
| + | if(monat <= 7){ | ||
| + | | ||
| + | // Ist der Wert von Monat ungerade? | ||
| + | if(monat % 2 == 1){ | ||
| + | return 31; | ||
| + | } else { | ||
| + | return 30; | ||
| + | } | ||
| + | | ||
| + | } else { | ||
| + | | ||
| + | if(monat % 2 == 1){ | ||
| + | return 30; | ||
| + | } else { | ||
| + | return 31; | ||
| + | } | ||
| + | | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Berechnung der Tage eines Monats unter Berücksichtigung von Schaltjahren ==== | ||
| + | Im {{https:// | ||
| + | - „Die durch 4 ganzzahlig teilbaren Jahre sind Schaltjahre. […] | ||
| + | - Säkularjahre, | ||
| + | - Schließlich sind die durch 400 ganzzahlig teilbaren Säkularjahre doch Schaltjahre. Damit sind z.B. 1600, 2000 und 2400 jeweils wieder Schaltjahre. […]“ | ||
| + | <code java> | ||
| + | public class DatumsRechner | ||
| + | { | ||
| + | |||
| + | public int tageImMonat(int monat, int jahr){ | ||
| + | | ||
| + | if(monat == 2){ | ||
| + | | ||
| + | if(istSchaltjahr(jahr)){ | ||
| + | return 29; | ||
| + | } else { | ||
| + | return 28; | ||
| + | } | ||
| + | | ||
| + | } | ||
| + | | ||
| + | if(monat <= 7){ | ||
| + | | ||
| + | if(monat % 2 == 1){ | ||
| + | return 31; | ||
| + | } else { | ||
| + | return 30; | ||
| + | } | ||
| + | | ||
| + | } else { | ||
| + | | ||
| + | if(monat % 2 == 1){ | ||
| + | return 30; | ||
| + | } else { | ||
| + | return 31; | ||
| + | } | ||
| + | | ||
| + | } | ||
| + | } | ||
| + | |||
| + | |||
| + | private boolean istSchaltjahr(int jahr){ | ||
| + | | ||
| + | // Jahreszahl ist kein Vielfaches von 4 | ||
| + | if(jahr % 4 != 0){ | ||
| + | return false; | ||
| + | } | ||
| + | | ||
| + | // Jahreszahl ist ein Vielfaches von 400 | ||
| + | if(jahr % 400 == 0){ | ||
| + | return true; | ||
| + | } | ||
| + | | ||
| + | // Jahreszahl ist ein Vielfaches von 100 | ||
| + | if(jahr % 100 == 0){ | ||
| + | return false; | ||
| + | } | ||
| + | | ||
| + | return true; | ||
| + | | ||
| + | } | ||
| + | | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Zur Deklaration der Methode '' | ||
| + | <WRAP center round important 60%> | ||
| + | * Das Schlüsselwort '' | ||
| + | * Variablen des Datentyps '' | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
