import java.util.Scanner; /** * UserDialog-Klasse um die Verwendung von Methoden zu üben * * @author Kevin Maurizi * @since 2042.01.01 * @version 0.1 */ public class UserDialog { static Scanner scanner; public UserDialog(){ scanner = new Scanner(System.in); } public static void main(String[] args) { UserDialog userDialog = new UserDialog(); userDialog.run(); scanner.close(); } private void run() { char auswahl; System.out.println("Lieber Benutzer, herzlich willkommen zu diesem Programm"); printMenue(); auswahl = scanner.nextLine().charAt(0); while (auswahl != 'x'){ if(auswahl == 'r'){ rechner(); }else if(auswahl == 'h'){ hasenUndHuehner(); }else if(auswahl == 's'){ soccermanager(); }else{ System.out.println("Buchstabe nicht bekannt, bitte erneut eingeben!"); } printMenue(); auswahl = scanner.nextLine().charAt(0); } } /** * Diese Methode zeigt dem User das Menue an. */ private void printMenue(){ System.out.println(); System.out.println("=============================================="); System.out.println("Was möchten Sie mit dieser Applikation machen?"); System.out.println("Wählen Sie 'r' für Taschenrechner"); System.out.println("Wählen Sie 'h' für Hasen und Hühner Problem"); System.out.println("Wählen Sie 's' für Soccermanager"); System.out.println("Wählen Sie 'x' um das Programm zu beenden!"); System.out.print(">> "); } /** * Verrechnet zwei Werte zu einer Summe */ private void rechner(){ double zahl1, zahl2, summe; System.out.println("Bitte geben Sie die erste Zahl ein"); while(!scanner.hasNextDouble()){ System.out.println("Bitte eine Zahl eingeben"); scanner.nextLine(); } zahl1 = scanner.nextDouble(); scanner.nextLine(); System.out.println("Bitte geben Sie die zweite Zahl ein"); while(!scanner.hasNextDouble()){ System.out.println("Bitte eine Zahl eingeben"); scanner.nextLine(); } zahl2 = scanner.nextDouble(); scanner.nextLine(); summe = zahl1 + zahl2; System.out.println("Die Summe ist: " + summe); } /** * Löst das Hasen- und Hühnerproblem */ private void hasenUndHuehner(){ int animals, legs, rabbit, chicken, maxLegs, minLegs; System.out.print("Anzahl Tiere >"); while(!scanner.hasNextInt()){ System.out.print("Bitte eine Zahl eingeben. Anzahl Tiere >"); scanner.nextLine(); } animals = scanner.nextInt(); scanner.nextLine(); maxLegs = animals * 4; minLegs = animals *2; System.out.print("Anzahl Beine >"); while(!scanner.hasNextInt()){ System.out.print("Bitte eine Zahl eingeben. Anzahl Beine >"); scanner.nextLine(); } legs = scanner.nextInt(); scanner.nextLine(); while(legs > maxLegs || legs < minLegs){ System.out.print("Anzahl Beine ungültig, bitte erneut eingeben (Min: "+minLegs +" Max: " + maxLegs +") >"); while(!scanner.hasNextInt()){ System.out.print("Bitte eine Zahl eingeben. Anzahl Beine >"); scanner.nextLine(); } legs = scanner.nextInt(); scanner.nextLine(); } rabbit = animals; chicken = 0; while ((rabbit * 4 + chicken * 2) > legs) { rabbit = rabbit - 1; chicken = chicken + 1; } System.out.println("Es sind " + rabbit + " Hasen und " + chicken + " Huehner"); } /** * Anhand der Spielernummern können Bewertungen vergeben werden */ private void soccermanager() { int shirtNo, countRating; double totalRating, rating; System.out.print("Trikotnummer (1 - 99 / 0=Ende) >"); shirtNo = scanner.nextInt(); scanner.nextLine(); while (shirtNo != 0) { totalRating = 0.0; countRating = 0; System.out.print("Bewertung (1.0 - 6.0 / 0=Ende) >"); rating = scanner.nextDouble(); scanner.nextLine(); while (rating > 0) { totalRating = totalRating + rating; countRating = countRating + 1; System.out.print("Bewertung (1.0 - 6.0 / 0=Ende) >"); rating = scanner.nextDouble(); scanner.nextLine(); } System.out.println("Spieler: " + shirtNo + " / Durchschnitt: " + (totalRating / countRating)); System.out.print("Trikotnummer (1 - 99 / 0=Ende) >"); shirtNo = scanner.nextInt(); scanner.nextLine(); } } }