next() Methode mehrfach verwenden

DiegoDre

Mitglied
Hey, ich versuche aus einem String jeweils 2 Int und 2 Strings auszulesen, bei den Strings klappt es schon, bei den ints wird allerdings immer nur der letzte erkannt. Jemand ne idee was ich falsch mache?
Java:
public static void main(String[] args) {
        String input = "1234 aStadt bStraße 34";
        createAdresse(sc);
        Scanner sc = new Scanner(input);
        sc.close();


    public static Adresse createAdresse(Scanner in) {
        int postL = 0;
        String stadt = "";
        String ad = "";
        int hNummer = 0;
      
        while(in.hasNext()) {
            if(in.hasNextInt()) {
                postL = in.nextInt();
                hNummer = in.nextInt();
              
            }else if(in.hasNext()){
                stadt =in.next();
                ad = in.next();
            }
          
        }
        Adresse erstellt = new Adresse(postL,stadt,ad,hNummer);
      
        out.println(erstellt);
      
        return erstellt ;
    }


Ist mein erster beitrag, hoffe ich hab alles wichtige beachtet
 
Wenn du dir deine Bedingungen im if einmal genauer ansiehst, wirst du festsstellen, dass du nur einmal prüfst ob ein int oder String da ist, aber zweimal dann einen ausliest.
 

Zurück
Oben