Ok jetzt hab ich’s, bloß wird das Array 2 mal hintereinander
ausgegeben. Und den Teil nach der 2. for-Schleife verstehe ich
nicht so ganz. Ich kenn die for-Schleife nur in der
Schreibweise, wie es bei der ersten gemacht wurde, und die
switch-case Anweisung ist mir auch unverständlich. Heißt
dieses ‚findValue1++‘ dass der in dem Array eins vorgeht um
die nächste 1 zu finden?
Das sind alles wirklich grundlagen .
findValue1++ : eine andere schreibweise ist
findValue1 = findValue1 +1
das nennt man incrementieren oder auch erhöhren 
das bezwekt also schlicht einen zähler.
Die 1. forschleife .
hier werden 20 zufallszahlen erzeugt und in ein Array geschrieben
array[i] = zahl; // ablegen in Array
- forschleife
hier wird einfach nur gesagt geh das Array durch , praktisch kannman das wohl bei Java mit for machen, andere sprachen haben dafür foreach etc. (btw ich programmiere eigentlich kein java)
- switch
ein switch ist ein schalter, sacht das wort ja aschon.
Das schöne ist es ist nicht nur ein ein und ausschlater, sondern ein multischlater
Er kann auf alle möglichen zustände abgefragt werden.
Wir haben eine Weiche mit 3 richtungen ,
nun haben wir eine Automatische Weiche die darauf reagiert was man ihr zuruft.
ruft der Lokführere Richtunge EINS , so schaltet die weiche in Richtung eins. Die Weiche hat dafür eine Eingabe („microphon“) und wetet dann das gerufene aus.
genauso ist es mit dem lieben switch
wir haben eine eingabe (variable) die wir prüfen, und je nach ergebnis tuen wir nur wa bestimmtes.
Switch hat auch noch eine kleine rafinesse. Es wird ab dem teil ausgeführt welcher mit der eingabe übereinstimmt.
es gibt also auch
switch (schalter)
case schalter=richtung1: links;break;
case schalter=richtung2: mitte;break;
case schalter=richtung3: rechts;break;
default: weiche so lassen; break;
default ist dann der wert der genommen wird wenn garkein anderer wert gleich ist.
Auch kann man die break befehle weglassen, das heist das dann auch der teil danach ausgeführt wird.
switch (schalter)
case schalter=richtung1: links;
case schalter=richtung2: mitte;
case schalter=richtung3: rechts;
default: weiche so lassen;
würd dann bei eingabe „richtung2“ , mitte und rechts die weiche schalten (klar nacheinander)
Hier ist nochmal der Programmcode:
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException{
int[] array = new int[20];
final int searchValue1 = 1;
final int searchValue2 = 2;
final int searchValue3 = 3;
int findValue1 = 0;
int findValue2 = 0;
int findValue3 = 0;
final Random r = new Random();
for(int i=0;i