Eclipse if Konsolenwerte einlesen?

2 Antworten

Die erste Zeile erzeugt einen Scanner, der Dich eine Eingabe machen lässt und behandelt die Eingabe (bzw. der erste Teil der Eingabe) als Int Wert.

Die zweite Zeile schreibt den Int Wert in eine neue Variable namens "eingelesenerWert".

Für die erste Aufgabe musst Du das ganze praktisch nur dreimal (weil drei Eingaben) wiederholen.

Drei Scanner (mit Eingabe) erzeugen, die drei Werte in eine Variable speichern und ausgeben.
Du kannst die selbe Variable für alle drei Werte benutzen, sofern Du den einen Wert ausgibst, bevor Du den nächsten einliest.
Willst Du erst alle 3 Werte einlesen und dannach alle gleichzeitig ausgeben, brauchst Du 3 Variablen.

Für eine Fehlerabfrage (damit man keinen Quatsch eingeben kann, sondern nur Ganzzahlen, also Int Werte), musst Du abfragen, ob die Eingabe überhaupt ein Int Wert ist.
Bringt ja nichts, wenn scanner.nextInt() die Eingabe als Int behandelt, Du aber "hallo" eingibst.

Das kannst Du mit

scanner.hasNextInt()

überprüfen.
Die Methode prüft, ob der nächste Wert (angefangen mit dem ersten natürlich) ein Int ist.
Ein "Nächster Wert" ist hier immer nach einem Leerzeichen.
Wäre die Eingabe also "Ich habe 3 Äpfel", würde die hasNextInt() Methode beim ersten Scan das "Ich" überprüfen,
beim zweiten Scan das "habe",
beim dritten die 3
und beim vierten Scan das "Äpfel".
Danach gibt es keinen Nächsten Wert mehr.

Die Abfrage wäre also bspw.:

if (scanner.hasNextInt()) {
    System.out.println(scanner.nextInt());
   }
else{
    System.out.println("Wert ist keine Ganzzahl");
  }

Eleganter wäre das Ganze natürlich mit einer While-Schleife,
womit Du einfach jeden Wert einer Eingabe überprüfen und nur die Ganzzahlen ausgeben könntest.
Aber den Aufgaben nach zu Urteilen seid ihr noch nicht so weit. :)

PS.

https://www.tutorialspoint.com/java/util/scanner_nextint.htm

Könnte Dir helfen.

Woher ich das weiß:Studium / Ausbildung – Informatik Studium.

Sniperturtle 
Fragesteller
 21.01.2020, 23:22

Danke erstmal. Die Aufgaben zu den while schleifen fallen mir eigentlich leichter zu verstehen. Wie würde das bei der Aufgabe denn gehen?

0
apophis  21.01.2020, 23:43
@Sniperturtle

im Grund genau wie in dem Beispiel in dem Link, nur dass das Else weggelassen wird. Ausgeben, dass ein Wert kein Int ist, muss man ja nicht.

0

ECLIPSE IST NUR EINE SOFTWARE DIE MIT DER AUFGABE NICHTS ZU TUN HAT!

Die erste Zeile erstellt einen Scanner, in der zweiten benutzt man diesen um die Konsoleneingabe in eine Variable zu speichern.

Woher ich das weiß:Hobby – Ich programmiere in meiner Freizeit mit Java.