# java.util.InputMismatchException im Scanner -wieso?



## dermoritz (24. Sep 2010)

folgendes Programmwirft stundenlang besagte Exception

```
public class Main {

	public static void main(String[] args) {
		String zeile = "blub 12345bla abc d";
		Scanner scanner = new Scanner(zeile);
		System.out.println(scanner.next("abc"));
	}

}
```
Kann mir irgendjemand sagen warum? Mit einer "NoSuchelementException" könnte ich ja umgehen aber ich Suche in einem String nach einem String wo ist das Problem?


----------



## Gast2 (24. Sep 2010)

Folgendes steht dazu in der API:



> // If we are at the end of input then NoSuchElement;
> // If there is still input left then InputMismatch


----------



## dermoritz (24. Sep 2010)

das versteh ich nicht?! ich kann doch auch nach nextLine suchen unabhängig ob noch "input left" ist oder? was heißt überhaupt input left hier?

oder anders gefragt wie finde ich "abc" mit dem Scanner? Noch anders gefrat - wie sieht ein Beispiel für die Verwendung von Scanner.next("string") aus?

also dort Scanner (Java Platform SE 6) hab ich dein Zitat nicht gefunden


----------



## eRaaaa (24. Sep 2010)

dermoritz hat gesagt.:


> oder anders gefragt wie finde ich "abc" mit dem Scanner?



Vllt. mit einer der find* Methoden?


----------



## dermoritz (24. Sep 2010)

findInLine geht !

wofür gibts dann next("String")? da würde ich gerne mal ein Beispiel für die Verwendung sehen.


----------



## SlaterB (24. Sep 2010)

lies dir doch die API-Beschreibung durch, da steht genau was passiert,
wenn du die nicht verstehst, dann sag Bescheid

reguläre Ausdrücke sind dort ein Thema


edit: also wenn du den Sinn schon verstehst: verwenden würde ich das auch nicht, dann kann ich kein Beispiel nennen


----------

