Warum hat die Position des if Statement diesen Einfluss?
Einmal erfolgt der Loop und einmal nicht.
package de.codegym.task.task07.task0726;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Scanner;
/*
Katze-Code wird nicht kompiliert
*/
public class Solution {
public static ArrayList<Katze> katzenListe = new ArrayList<>();
public static void main(String[] args) throws IOException {
//BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
Scanner scanner = new Scanner(System.in);
while (true) {
String name = scanner.nextLine();
//if Statement an dieser Stelle sorgt dafür, dass die Eingabe NUR 1x erfolgen kann.
//Es wird kein loop der while Schleife durchgeführt
// if (name.length() == 0) {
// break;
// }
int alter = scanner.nextInt();
int gewicht = scanner.nextInt();
int schwanzlaenge = scanner.nextInt();
// if Satement an dieser Stelle funktioniert :)
if (name.isEmpty()) {
break;
}
Katze katze = new Katze(name,alter,gewicht,schwanzlaenge);
katzenListe.add(katze);
}
listeAusdrucken();
}
public static void listeAusdrucken() {
for (Katze katze : katzenListe) {
System.out.println(katze);
}
}
public static class Katze {
private String name;
private int alter;
private int gewicht;
private int schwanzlaenge;
Katze(String name, int alter, int gewicht, int schwanzlaenge) {
this.name = name;
this.alter = alter;
this.gewicht = gewicht;
this.schwanzlaenge = schwanzlaenge;
}
@Override
public String toString() {
return "Name der Katze: " + name + ", Alter: " + alter + ", Gewicht: " + gewicht + ", Schwanz: " + schwanzlaenge;
}
}
}