Arrays erstellen, Zahlen suchen

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?

Darauf kann ich jetzt leider nur noch mit einem Link antworten:

http://openbook.galileocomputing.de/javainsel8/javai…

Das verlinkte Buch ist eigentlich ein ganz guter Einstieg, und im Inhaltsverzeichnis findet man schnell einen Einstieg, der einem bei Problemen weiterhilft.

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 :smile:

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

  1. 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)

  1. 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 :smile: 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

Das sind alles wirklich grundlagen .

findValue1++ : eine andere schreibweise ist
findValue1 = findValue1 +1

Ich biete noch

findValue1 += 1

:wink:

Danke :smile: also heißt das praktisch, wenn der die entsprechende Zahl in dem Array gefunden hat erhöht er findValue1 um 1, legt die neue Zahl dort ab und sucht weiter, wenn wer wieder die gleiche Zahl gefunden hat, tut er das gleiche. hab ich das so richtig verstanden?