# Vorkurs Wintersemester 2022
---
# Websites
- https://www.w3schools.com/java/default.asp
- https://www.geeksforgeeks.org/java/?ref=ghm
---
# Wichtiges
- (Math.random() * SPANNWEITE)+NIEDRIGSTER_WERT
- erstellt Zusallswerte zwischen NIEDRIGSTER_WERT und NIEDRIGSTER_WERT + SPANNWEITE - 1
- Auf n-tes Element eines Arrays arr zugreifen:
- arr[n]
- Wert des Arrays arr an n-ter Stelle verändern
- arr[n] = neuer_wert
- Array ausgeben:
```java=
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
```
---
# Thema 1 - Programmierkonstrukte
## Stelle in mindestens je einer Notationsmöglichkeit (umgangssprachlich, Pseudocode)
- deinen (oder einen fiktiven) Tagesablauf,
- den Ablauf des Zähneputzens,
- einen selbstgewählten weiteren Ablauf (bspw. eines Spiels)
dar.
Benutze dabei jeweils mindestens 2 der Programmierkonstrukte (Sequenz, Fallunterscheidung und Wiederholung / Schleife).
__Pseudocode__
*Sequenz*
```t
Anweisung 1;
Anweisung 2;
…
Anweisung n;
```
*Fallunterscheidung*
```t
IF Bedingung THEN
Anweisungsblock 1
ELSE
Anweisungsblock 2
ENDIF
IF Selektor =
1: Anweisungsblock 1
2: Anweisungsblock 2
…
n: Anweisungsblock n
else Anweisungsblock
ENDIF
```
*Schleifen*
```t
WHILE Bedingung DO
Anweisungsblock
ENDWHILE
REPEAT
Anweisungsblock
UNTIL Bedingung
FOR i := Anfangswert TO Endwert DO
Anweisungsblock
ENDFOR
```
### eins
```t
Anweisung Aufwachen;
Anweisung Frühstücken;
Anweisung spazierengehen;
```
### zwei
```t
if Hunger then
essen
else lernen
endif
if Hunger =
zum Kühlschrank gehen;
Essen auswählen;
Essen;
endif
```
### Vanessa (Aufgabe 1):
```
If alarmclock.status == on
Then Me.wakeup()
Alarmclock.status = off
while Me.status == sleepy
Do Me.drinkcoffee()
Endwhile
Me.brushteeth()
Me.dressup()
Me.gotowork(8h)
If time == 22
Alarmclock.set()
Me.gotosleep()
Endif
Else Me.sleep()
Endif
```
### Fabian (Aufgabe 2):
- Zahnbürste greifen mit der einen Hand
- Bürste unter Wasserhahn halten
- Wasserhahn aufdrehen
- 1 Sekunde warten
- Wasserhahn zudrehen
- Zahnpasta mit der anderen Hand greifen
- Tube aufdrehen
- Bürste unter die Tube halten
- auf die Tube drücken
- Tube zudrehen
- Tube weglegen
- Zahnbürste in den Mund nehmen
- zeit = 0
- do
- bürsten
- zeit += 1
- while Zeit < 180
- zahnbürste aus dem Mund nehmen
- Zahnpasta Ausspucken
- Zahnbürste unter den Wasserhahn halten
- Wasserhahn aufdrehen
- while Zahnpasta auf Zahnbürste
- Zahnbürste säubern
- Zahnbürste weglegen
- Becher greifen
- Becher unter Wasserhahn halten
- do
- warten
- until Becher mit einem Schluck Wasser gefüllt
- Wasserhahn zudrehen
- Wasser aus dem Becher in den Mund füllen
- Becher wegstellen
- ausspülen
- ausspucken
### Ahmed (Aufgabe1):
Aufwachen;
Zähneputzen;
VorlesungBesuchen;
### Omar (Aufgabe1):
Kleidung tragen;
Rausgehen;
while Bus ist noch nicht da DO
warte;
endwhile
Bus nehmen;
in der Bibliothek ankommen;
IF schönes Wetter THEN
Fenster öffnen
ELSE
Fenster geschlossen halten
ENDIF
### Lasse (Aufgabe1):
```t
REPEAT
Sleep;
UNTIL (Time <7)
Wake up;
Stand up;
Brush teeth;
IF(temperature < 20°) THEN
Wear Pullover...;
ELSE
Wear Tshirt...;
REPEAT
eat;
UNTIL (HUNGRY != true)
IF(Weather == sunny)
Wear Shoes;
Take bicycle;
Drive to Sport;
ELSE
Alternative Day;
Do Sport; // Switch je nach Wochentagen
Shower;
Drive back;
REPEAT Coding
UNTIL (Time <22)
Sleep;
```
### Nike
while TRUE do
if sprinting then
wavy_hair
else
straight_hair
endif
endwhile
if
### Lenni
```t
REPEAT
Sleep;
UNTIL (Alarm set; Time 7)
Wake up;
Clean Bed;
Brush teeth;
Go Outside with Coffee
IF (Hungry) THEN
eat Breakfest;
ELSE
go to Uni,
WHILE Study REPAET
drink coffee,
UNTIL
stop study,
FOR i := 12 to 16 DO
study;
ENDFOR
```
---
# Thema 2 - Einführung in Java
## Ausgabe
1. Gib auf der Konsole “Hallo FIN” aus. (FIN = Fakultät für INformatik)
## Variablen
2. Lege eine int - Variable mit deiner Lieblingszahl an und gib diese aus.
3. Lege eine Variable an, berechne deren Quadrat und speichere dieses in einer zweiten Variable.
4. Lege eine Variable (float) an, die einen Wert in Fahrenheit übergeben bekommt und weise einer zweiten Variable den umgerechneten Wert in Celsius zu.
5. Berechnungsformel: C = 0,5556 * (F - 32)
- Zusatz: Das Programm soll auch in die andere Richtung rechnen können.
- Zusatz: Es wird eine Uhrzeit in Millisekunden angegeben (int - Variable). Berechne daraus die Uhrzeit in Stunden, Minuten und Sekunden aus und gib dies geeignet aus.
- Tipp: Dafür wird der %-Operator benötigt.
- Zusatz: Lege 2 Variablen an und
- vertausche ihre Werte
- vertausche die Werte ohne eine Hilfsvariable
## Verzweigungen
6. Legen eine ganzzahlige Variable an, überprüfe, ob sie gerade oder ungerade ist und gib den passenden Fall aus.
7. Überprüfe, ob eine Zahl zwischen 42 und 1337 liegt und gib den passenden Fall aus.
8. Prüfe, ob eine Zahl durch 2 oder durch 3 teilbar ist.
9. Gib die größte von 3 (in Form von Variablen) angegebenen Zahlen aus.
10. Gib aus einer eingegebenen Note die entsprechende Bezeichnung aus:
1 Sehr Gut
2 Gut
3 Befriedigend
4 Ausreichend
5 Mangelhaft
6 Ungenügend
Falls es keine gültige Note ist, soll “Das ist keine Note” ausgegeben werden.
## Schleifen
11. Gib n - Mal (Variable) eine Nachricht deiner Wahl auf der Konsole aus. Löse die Aufgabe jeweils mit allen 3 Schleifentypen (for, while, do while).
12. Zähle bis 10 hoch und dann wieder runter - gib jede Zahl dabei auf der Konsole aus.
13. Gib die folgende Folge aus: 0:1000, 1:999, 2:998 … 998:2, 999:1, 1000:0.
14. Die Summe der Zahlen von 1 bis 100 aus (mit Hilfe von Schleife(n)).
15. Gib n - Mal Sternchen (*) auf der Konsole aus.
Zusatz: Gib einen wie folgt Sägezahn aus Sternen aus, dessen Größe von k abhängt.
*
**
***
*
**
***
(k = 3)
## Lösungen
```java
int teil = 33;
// Aufgabe 6
if (teil % 2 == 0) {
System.out.println("Durch zwei teilbar");
}
//AUfgabe 8
if (teil % 2 == 0 || teil % 3 == 0) {
System.out.println("Zahl ist durch 2 oder 3 teilbar");
}
int zahl1 = 560;
if(zahl1 >= 42){
if(zahl1 <= 1337){
System.out.println("Die Zahl liegt zwischen 42 und 1337");
}
}
int zahl=30;
String ausgabe;
if(42 >= zahl && zahl <= 1337){
ausgabe = "wahr";
} else {
ausgabe = "falsch";
}
System.out.println(ausgabe);
int var1 = 4;
int var2 = 6;
int var3 = 3;
// Aufgabe 9 - größte 3er Zahlen
if(var1 > var2){
if(var1 > var3){
System.out.println(var1 + " ist die größte");
}else{
System.out.println(var3 + " ist die größte");
}
}else{
if(var2 > var3){
System.out.println(var2 + " ist die größte");
}else{
System.out.println(var3 + " ist die größte");
}
}
```
```java
// if Variante
int note = 2;
if (note == 1) {
System.out.println("Sehr_Gut");
}
if (note == 2) {
System.out.println("Gut");
}
if (note == 3) {
System.out.println("Befriedigend");
}
if (note == 4) {
System.out.println("Ausreichend");
}
if (note == 5) {
System.out.println("Mangelhaft");
}
if (note == 6) {
System.out.println("Ungenügend");
}
if(note < 1 || note > 6){
System.out.println("Das keine Note");
}
//switch case Variante
int note = 2;
switch (note){
case 1:System.out.println("Sehr_Gut");
break;
case 2:System.out.println("Gut");
break;
case 3:System.out.println("Befriedigend");
break;
case 4:System.out.println("Ausreichend");
break;
case 5:System.out.println("Mangelhaft");
break;
case 6:System.out.println("Ungenügend");
break;
default: System.out.println("Das ist keine Note");
}
// for Schleife
int n = 5;
for (int i = 0; i < n; i++){
System.out.println(i);
}
// while Schleife
int zahl3 = 0;
while (zahl3 <n){
System.out.println(zahl3);
zahl3++; // Zahl3 = Zahl3 + 1;
}
// do-while-Schleife
int zahl4 = 0;
do {
System.out.println(zahl4);
zahl4++;
}while (zahl4 < n);
// Aufgabe 12
for (int Variable6 = 1; Variable6 < 11; Variable6++) {
System.out.println(Variable6);
}
for (int Variable7 = 10; Variable7 > 0; Variable7--) {
System.out.println(Variable7);
}
int intVariable1 = 1;
while(intVariable1 < 11){
System.out.println(intVariable1);
intVariable1++;
}
int intvariable2 = 10;
while(intvariable2 > 0){
System.out.println(intvariable2);
intvariable2--;
}
for (int i = 1; i < 20; i++) {
if(i<11) {
System.out.print(i+" ");
}else{
System.out.print(20-i+" ");
}
}
// Aufgabe 13
int second = 1000;
for (int i = 0; i <= 1000; i++) {
System.out.println(i+":"+second);
second--;
}
for (int i = 0; i <= 1000; i++) {
System.out.println(i+":"+(1000-i));
}
// Aufgabe 14
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum = sumn + i;
}
System.out.println(sum);
// direktlösbare Formel = Gaußsche Summenformel -> n*(n+1)/2
System.out.println(100*101/2);
// Aufgabe 15
String Stern = "";
int n=10;
for(int k=1; k<=n; k++){
Stern = Stern + "*";
System.out.println(Stern);
}
Stern = "";
// Zusatz
String Stern = "";
int n=10;
for (int j = 0; j < 2; j++) {
for(int i=1; i<=n; i++){
Stern = Stern + "*";
System.out.println(Stern);
}
Stern = "";
}
```
// Zweierkomplement
---
# Thema 3 - Fortführung Java
## Eingabe
1. Lies über die Konsole eine Zahl ein und gib diese auf der Konsole aus.
- Tipp: Nutze dafür den Scanner (import java.util.Scanner;)
## Arrays
2. Erstelle ein Array, in dem 4 Zahlen gespeichert werden können und fülle es mit Werten (mind. 2 Varianten).
3. Lies 4 Zahlen ein, speichere sie im Array (aus a.) und berechne deren Summe. Gib zusätzlich noch das Array an sich aus.
4. Gib die größte Zahl und den dazugehörigen Index eines Arrays aus (bspw. aus b.).
- Zusatz: Wandle einen String in ein Array um und gib dieses in umgekehrter Reihenfolge wieder aus. Tipp: Nutze z.B. die String.charAt(int i) und die String.length() - Methode
## Methoden
- Erstelle eine Methode, die …
5. zwei Parameter übernimmt und die Summe zurückgibt
6. eine Zahl übergeben bekommt und zurückgibt, ob sie gerade ist (falls gerade true sonst false)
7. ein übergeben bekommendes Array mit int ausgibt
- die gleiche Methode soll auch für double - Arrays erstellt werden (Stichwort Überladen)
9. ein int Array mit 10 zufälligen Werten erstellt und dieses zurückgibt
10. double - Array mit n (Parameter) Werten erstellt, dessen Werte zwischen 10 und 100 liegen
- Zusatz: lass die Methode die Argumente min und max übernehmen und das Array mit Werten zwischen min und max füllen
12. ein Array, min, max übergeben bekommt und die Summe der Zahlen vom Index min bis zum Index max berechnet
13. von 3 Parametern die größte Zahl zurückgibt
- Zusatz: die größte Zahl von einer beliebigen Anzahl an Parametern zurückgeben
14. zurückgibt, ob eine eingegebene Zahl eine Primzahl ist
15. 2 Zahlen sowie einen Operator (+,-,*,/) als char übergeben bekommt und dem Operator entsprechend das Ergebnis zurückgibt.
- Zusatz:
- Erweitere die Methode noch um weitere Operatoren.
- Programmiere mit Hilfe dieser Methode einen kleinen Taschenrechner, bei dem du die Zahlen und den Operator einliest und das Ergebnis ausgibst.
16. eine Dezimalzahl übergeben bekommt und die Binärdarstellung (als String) zurückgibt.
17. einen int übergeben bekommt und testet, ob dieser eine perfekte Zahl ist. Eine Zahl ist perfekt, wenn sie gleich der Summe ihrer Teiler außer sich selbst ist. Überprüfe deine Methode mit den Zahlen 6, 14, 28, 100, 496 und 8128.
Zusatz: Was sind die restlichen Zahlen sonst? Abundant oder defizient?
Schreibe ein Programm, das diese Information ebenfalls ausgibt.
Tipp: https://de.wikipedia.org/wiki/Vollkommene_Zahl
Lösungen
```java=
// 3
int[] zahlenfeld1 = new int[4];
//Einlesen der Zahlen
System.out.println("Bitte geben Sie 4 Zahlen ein:");
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < 4; i++) {
zahlenFeld1[i] = scanner.nextInt();
}
// Berechnung der Summe
int sum = 0;
for (int i = 0; i < zahlenFeld1.length; i++) {
sum += zahlenFeld1[i];
}
// Ausgeben der Summe
System.out.println("Die Summe der Zahlen des Arrays beträgt: " + sum);
//Ausgeben des Arrays
System.out.println("Das Array sieht wie folgt aus:");
System.out.print("{");
for (int i = 0; i < zahlenFeld1.length; i++) {
// wenn noch nicht die letzte Zahl kommt dann mit Komma ausgeben
if (i < zahlenFeld1.length - 1) {
System.out.print(zahlenFeld1[i] + ", ");
} else {
//sonst mit schließender geschweifter Klammer
System.out.println(zahlenFeld1[i] + "}");
}
}
// 4
int max = array[0];
int index = 0;
for (int i = 1; i < array.length; i++) {
if (array[i] > max) {
max = array[i];
index = i;
}
}
System.out.println(Arrays.toString(array));
System.out.println("Der größte Wer in dem Array ist " + max + " an Index " + index);
// 6
public class Test {
public static boolean isEven (int number) {
if (number % 2 == 0) { // return number % 2 == 0
return true;
} else {
return false ;
}
}
public static void main (String [] args){
int number = 6;
System.out.println(isEven(number));
}
}
// 7
public static String arrayToString(int[] array) {
String result = "";
// zahl1 zahl2 zahl3 ...
// array[0] array[1]
// result = result + array[0] + " ";
for (int i = 0; i < array.length; i++) {
result = result + array[i] + " ";
}
return result;
}
public static String arrayToString(double[] array) {
String result = "";
// zahl1 zahl2 zahl3 ...
// array[0] array[1]
// result = result + array[0] + " ";
for (int i = 0; i < array.length; i++) {
result = result + array[i] + " ";
}
return result;
}
public static void main(String[]args) {
int[] a = new int[12];
arrayToString(a);
double[] b = new int[12];
arrayToString(b)
}
// 5
public static int summe(int summand1, int summand2){
return summand1+summand2;
}
public static void main(String[] args){
int zahl1=5;
int zahl2=8;
int sum = summe(zahl1,zahl2);
System.out.println(sum);
}
```
```java=
if (spielFeld[0] != null && spielFeld[3] != null && spielFeld[6] != null
&& spielFeld[0].equals(player3)
&& spielFeld[3].equals(player3)
&& spielFeld[6].equals(player3)) {
Board.win(player3);
}
if (spielFeld[1] != null && spielFeld[4] != null && spielFeld[7] != null
&& spielFeld[1].equals(player3)
&& spielFeld[4].equals(player3)
&& spielFeld[7].equals(player3)) {
Board.win(player3);
}
if (spielFeld[2] != null && spielFeld[5] != null && spielFeld[8] != null
&& spielFeld[2].equals(player3)
&& spielFeld[5].equals(player3)
&& spielFeld[8].equals(player3)) {
Board.win(player3);
}
if (spielFeld[0] != null && spielFeld[1] != null && spielFeld[2] != null
&& spielFeld[0].equals(player3)
&& spielFeld[1].equals(player3)
&& spielFeld[2].equals(player3)) {
Board.win(player3);
}
if (spielFeld[3]!=null && spielFeld[4]!=null && spielFeld[5]!=null
&& spielFeld[3].equals(player3)
&& spielFeld[4].equals(player3)
&& spielFeld[5].equals(player3)) {
Board.win(player3);
}
if (spielFeld[6]!=null && spielFeld[7]!=null && spielFeld[8]!=null
&& spielFeld[6].equals(player3)
&& spielFeld[7].equals(player3)
&& spielFeld[8].equals(player3)) {
Board.win(player3);
}
if (spielFeld[0]!=null && spielFeld[4]!=null && spielFeld[8]!=null
&& spielFeld[0].equals(player3)
&& spielFeld[4].equals(player3)
&& spielFeld[8].equals(player3)) {
Board.win(player3);
}
if (spielFeld[6]!=null && spielFeld[4]!=null && spielFeld[2]!=null
&& spielFeld[6].equals(player3)
&& spielFeld[4].equals(player3)
&& spielFeld[2].equals(player3)) {
Board.win(player3);
}
```
1. Ein Programm für eine Kasse soll entwickelt werden.
- Dies soll erst einmal n Produkte einscannen (ein Array mit n zufälligen ganzzahligen Werten zwischen 10€ und 100€ erstellen).
- Zusatz: für Zahlen mit maximal 2 Nachkommastellen
- Dann wird der Preis berechnet und ausgegeben.
- Danach bekommt die Kasse Geld (Eingabe des Geldbetrags).
- Wenn es zu wenig Geld ist, wird auf eine weitere Eingabe gewartet.
- Wenn das Geld passend ist, wird ein schöner Tag gewünscht.
- Wenn es zu viel Geld ist, wird das Rückgeld berechnet.
(Dies soll intern in Form eines Arrays(Länge 6 → mit Cent 12) zurückgegeben werden. Dabei steht die 1. Stelle für 50€, 2. 20€ usw bis zu 1€ (mit Cent bis zu 1 ct).
- An jedem Eintrag soll jeweils die Anzahl der jeweiligen Münze/Schein stehen)
Erstelle für die vorherigen Aufgaben passende Methoden (wenn nicht bereits geschehen)
2. Für Mathe soll eine Wertetabelle der Funktion f(x) = 7x²+3 angelegt werden.
im Bereich von min bis max für mit Schritten von i
Bsp. Intervall von min=5 bis max=7 mit i=0.5 wäre f(5)=178, f(5.5)=214.75, f(6)=255, f(6.5)=298.75, f(7)=346
3. Ein Freund schickt dir Nachrichten. Doch - Oh nein, durch einen Fehler des Messengers sind alle Nachrichten umgedreht. Schreibe eine Methode, die die Nachricht in der eigentlichen Reihenfolge wieder ausgibt.
bspw “?tlemmaseg gnurhafrereimmargorP eginie ud tsah ,ollaH”
4. Ein Professor schickt dir Temperatur-Messdaten. Doch beim Auslesen der Daten fällt dir etwas Eigenartiges auf - warum sind da neben den Ziffern auch noch Buchstaben von a bis f? Die Zahlen sind wohl hexadezimal.
- Wandle die Zahlen, die in Form eines String[] übergeben werden, in Integer im Dezimalsystem um.
- Die Daten sind auch noch in Kelvin angegeben. Schreibe ein Programm, das von Kelvin in Celsius umwandelt. (Annahme 0°C = 273K)
- Es liegen Temperaturdaten von Juni 2015 bis August 2022 (monatlich) an. Für eine Auswertung sind aber nur die Daten des Zeitraums vom Januar 2021 an relevant. Schreibe eine Methode, die nur diese Daten herausfiltert und in Form eines Arrays zurückgibt.
- Nun soll aus diesen Werten das Minimum, das Maximum und der durchschnittliche Wert herausgefunden werden.
- Zusatz: Gib noch (insofern sinnvoll) die dazugehörigen Monate und das jeweilige Jahr an.
int[] array = new int[10];
for (int i = 0; i < array.lenght; i++) {
array[i] = (int) (Math.random() * 91)+10;
}
public static void Main(String[] args){
int Preis = array[0] + array [1] + array [2] + array [3] + array [4] + array [5] + array [6]
+ array [7] + array [8] + array [9] ;
System.out.println(Preis + " € ");
int price = 0;
for(int i = 0; i<array.length; i++){
price = price + array[i];
}
```java=
//Nike
import java.util.Arrays;
import java.util.Scanner;
public class Geld {
public static void main(String[] args) {
int[] array = new int[10];
for (int i = 0; i < array.length; i++) {
array[i] = (int) (Math.random() * 91) + 10;
System.out.println(array[i]);
}
int preis = 0;
for(int i = 0; i < array.length; i++){
preis = preis + array[i];
}
System.out.println(preis + "$");
Scanner scn = new Scanner(System.in);
System.out.println("Bitte bezahle die Produkte.");
int einzahlen = scn.nextInt();
if (einzahlen < preis){
System.out.println("Das Geld reicht nicht. Bitte zahlen Sie noch mehr ein.");
}
else {
if (einzahlen > preis){
System.out.println(einzahlen - preis + "$ Das ist das Restgeld.");
}
}
}
}
```
# Thema 7 - Objektorientierung
Es ist die Klasse folgende “Vehicle” (Fahrzeug) gegeben.
- Schau dir die Klasse “Vehicle” an. Welche Attribute und welche Methoden hat sie?
- Erstelle einige Objekte der Klasse - lass bei den Eigenschaften deiner Kreativität freien Lauf.
- Welche Arten von Fahrzeugen gibt es? Erstelle mindestens 2 weitere Klassen, die von “Vehicle” erben, mit jeweils mindestens 2 eigenen Attributen und einer Methode.
- Zusatz: Zähle, wie viele “Vehicle” erstellt wurden und lass diese Anzahl ausgeben.
```java=
public class Vehicle {
private int wheelCount;
private int size;
private String name;
public Vehicle(int wheelCount, int size, String name) {
this.wheelCount = wheelCount;
this.size = size;
this.name = name;
}
public String getName() {
return name;
}
public int getWheelCount() {
return wheelCount;
}
public int getSize() {
return size;
}
}
```
Lösung:
- Attribute:
```java=
public class Main {
public static void main(String[] args) {
Vehicle Car1 = new Vehicle (4,400,"Mercedes");
Vehicle Motorrad = new Vehicle (2,100,"BMW");
}
}
public class Elektroauto extends Vehicle {
public Elektroauto(String name) {
super(4, 100 * 160 * 200, name);
}
}
import java.util.Scanner;
public class Kaktus {
public String Stachelart1;
public int Size = 20;
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
String answer = scn.nextLine();
if(answer.equals("Kaktus gießen")) {
System.out.println(Size + 1);
}
if (answer.equals("Kaktus abbrechen")); {
System.out.println(Size - 0.5);
}
if (answer.equals("Kaktus mit spitzen Stacheln anfassen"));
{
System.out.println("AUA");
}
if (answer.equals("Kaktus mit stumpfen Stacheln anfassen")); {
System.out.println("angenehm");
}
}
}
int[] zufall = {1};
for (int i = 0; i < zufall.length; i++) {
zufall[i] = (int) (Math.random()* 11);
System.out.println(zufall[i]);
boolean stachelig = zufall[i] <= 5;
boolean stumpf = zufall[i] > 5;
if (stachelig) {
System.out.println("AUA! :(");
}else{
if (stumpf){
System.out.println("angenehm. :)");
}
}
}
```
Im Folgenden ist ein Kaktus vereinfacht beschrieben:
Ein Kaktus hat entweder spitze oder stumpfe Stacheln. Wenn man einen Kaktus mit spitzen Stacheln anfasst, schreit man “AUA” - bei stumpfen Stacheln sagt man “angenehm”. Ein Kaktus hat auch eine bestimmte Größe. Wenn man ihn gießt, wächst er um 1cm. Wenn man den Kaktus jedoch abbricht, schrumpft er um 0,5cm.
- Erstelle aus dieser Beschreibung eine “Kaktus” Klasse, die etwa die beschriebenen Attribute und Methoden enthält.
- Ist das schon ein richtiger Kaktus? Füge noch weitere Methoden und Attribute hinzu. einige Ideen:
wenn man den Kaktus zu häufig hintereinander gießt - schrumpft er
Man kann spitze Stacheln abschneiden → dann wird er stumpf