OOP String auf bestimmte Zeichen abfragen

Basti4231

Bekanntes Mitglied
Hey Leute,

ich möchte gerne einen String, den ich vom Benutzer eingeben lasse, prüfen ob falsche Zeichen drin sind, um so eine Exception zu werfen. Ich hätte mir das so vorgestellt:

[Java]
import java.util.Scanner;
import de.exceptions.WrongVariableValueException;

public class UserInput {

Scanner sc = new Scanner(System.in);

public void enterValue() throws WrongVariableValueException {
System.out.println("Bitte geben Sie einen Namen ein.");
String s = sc.next();
if (s.contains("1") { // und noch 2,3,4 usw.
throw new WrongVariableValueException("Der Wert ist ungültig"); // meine eigene Exception
}
}
}
[/code]

In meiner Main-Klasse rufe ich dann diese Methode auf.
Ich weiß, dass .contains nur 1 String akzeptiert, habe auch mal was gelesen womit man mehrere Zeichen festlegen kann, weiß aber nicht mehr wie die Methode heißt und ich finde sie auch nicht.
Wär echt cool wenn ihr mir helfen könntet :toll:

Merci und Gruß Basti 😀
 
Zuletzt bearbeitet:
Du kannst es mit regulären Ausdrücken machen. Guck dir mal die Klasse Pattern und die Klasse Matcher an.
 
Zuletzt bearbeitet von einem Moderator:
Alternativ kannst du auch sowas bauen:

Java:
public class Test {
        public static char[] ILLEGAL_CHARS = {'c','a','x','1','2'};
	
	public static void main(String[] arg) {
	 String eingabe = "aasdfasfsf1233";
	 
	 for (char c: ILLEGAL_CHARS){
		 if(eingabe.indexOf((int) c) != -1){
		 System.err.println("Used illeagl char "+c);
		 }
	}
}

Matchen mit regulären Ausdrücke ist aber hübscher....
 

Neue Themen


Zurück
Oben