Lösungsvorschlag: Hasen und Hühner
Variablen und Konstanten
Konstanten
Wert | Beschreibung | Datentyp |
---|---|---|
1 | Addieren/Subtrahieren eines Tiers | Ganzzahl |
2 | Anzahl Beine eines Huhns | Ganzzahl |
4 | Anzahl Beine eines Hasen | Ganzzahl |
Variablen
Bezeichner | Datentyp |
---|---|
animals | int |
legs | int |
rabbit | int |
chicken | int |
calculated | int |
Programmablaufplan
Realisierung
- Animals.java
import java.util.Scanner; /** * calculate the number of rabbits and chickens * * @author Marcel Suter * @since 2017-10-02 * @version 1.0 */ public class Animals { Scanner scanner; /** * constructor */ public Animals() { scanner = new Scanner(System.in); } /** * starts the execution * * @param args * command line arguments */ public static void main(String[] args) { Animals program = new Animals(); System.out.println("Willkommen"); program.calculate(); System.out.println("Bye Bye"); } /** * calculates the numbers */ private void calculate() { int animals; int legs; int rabbit; int chicken; System.out.print("Anzahl Tiere >"); animals = scanner.nextInt(); scanner.nextLine(); // Scanner leeren System.out.print("Anzahl Beine >"); legs = scanner.nextInt(); scanner.nextLine(); // Scanner leeren 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"); } }
Realisierung Erweitert
- Animals.java
import java.util.Scanner; /** * calculate the number of rabbits and chickens * * @author Kevin Maurizi * @since 2021-11-11 * @version 1.0 */ public class Animals { Scanner scanner; /** * constructor */ public Animals() { scanner = new Scanner(System.in); } /** * starts the execution * * @param args * command line arguments */ public static void main(String[] args) { Animals program = new Animals(); System.out.println("Willkommen"); program.calculate(); System.out.println("Bye Bye"); } /** * calculates the numbers */ private void calculate() { int animals; int legs; int rabbit; int chicken; int maxLegs; int minLegs; System.out.print("Anzahl Tiere >"); animals = scanner.nextInt(); scanner.nextLine(); // Scanner leeren maxLegs = animals * 4; minLegs = animals *2; System.out.print("Anzahl Beine >"); legs = scanner.nextInt(); scanner.nextLine(); // Scanner leeren if(legs > maxLegs || legs < minLegs){ System.out.print("Anzahl Beine ungültig, bitte erneut eingeben (Min: "+minLegs +" Max: " + maxLegs +") >"); legs = scanner.nextInt(); scanner.nextLine(); // Scanner leeren } 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"); } }
Realisierung Erweiterung der Erweiterung
- Animals.java
import java.util.Scanner; /** * calculate the number of rabbits and chickens * * @author Kevin Maurizi * @since 2021-11-11 * @version 1.0 */ public class Animals { Scanner scanner; /** * constructor */ public Animals() { scanner = new Scanner(System.in); } /** * starts the execution * * @param args * command line arguments */ public static void main(String[] args) { Animals program = new Animals(); System.out.println("Willkommen"); program.calculate(); System.out.println("Bye Bye"); } /** * calculates the numbers */ private void calculate() { int animals; int legs; int rabbit; int chicken; int maxLegs; int minLegs; System.out.print("Anzahl Tiere >"); while(!scanner.hasNextInt()){ // Überprüfen ob der User eine Zahl (int) eingegeben hat. System.out.print("Bitte eine Zahl eingeben. Anzahl Tiere >"); scanner.nextLine(); // Scanner leeren, damit der User erneut eine Zahl eingeben muss. } animals = scanner.nextInt(); // Überprüfte Zahl, bei der wir jetzt wissen, dass es ein "int" ist einlesen. scanner.nextLine(); // Scanner leeren 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(); // Scanner leeren 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(); // Scanner leeren } 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"); } }