Hi @ all!
Bräucht mal schnell eure Hilfe. Häng schon ewig rum bei der IP-Sache und komm auf den Fehler nicht drauf.
Also, hab folgenden Code (siehe Anschluss).
Ich teste zuerst mit der Pattern Klasse, ob das IP-Format des Strings ip korrekt ist. Das haut hin.
Dann muss ich natürlich noch testen, ob alle Teilziffern < 255 sind. Jedoch bekomm ich bei ipTokens = ip.split(".")
immer ein Array der Länge 0 zurück. Warum????
[/b]
Bräucht mal schnell eure Hilfe. Häng schon ewig rum bei der IP-Sache und komm auf den Fehler nicht drauf.
Also, hab folgenden Code (siehe Anschluss).
Ich teste zuerst mit der Pattern Klasse, ob das IP-Format des Strings ip korrekt ist. Das haut hin.
Dann muss ich natürlich noch testen, ob alle Teilziffern < 255 sind. Jedoch bekomm ich bei ipTokens = ip.split(".")
immer ein Array der Länge 0 zurück. Warum????
Code:
public static void main(String[] args) {
String ip = "1.205.266.555";
String[] ipTokens;
boolean validIPFormat;
boolean validIP;
Pattern p = Pattern.compile( "([0-9]{1,3}+).([0-9]{1,3}+).([0-9]{1,3}+).([0-9]{1,3})" );
Matcher m = p.matcher(ip);
validIPFormat = m.matches();
System.out.println("Format valid: " + validIPFormat);
validIP = true;
if(validIPFormat) {
ipTokens = ip.split("."); // HIER SPLIT ICH JETZT DIE TEILZIFFERN HERAUS UND SPEICHER DAS GANZE IN EINEM STRING ARRAY
System.out.print("Length " + ipTokens.length + " "); // DIE LÄNGE DES ARRAYS IS 0?!!!
for(int i=0; i < ipTokens.length && validIP; i++) {
System.out.print(ipTokens[i] + " ");
int partIp = Integer.parseInt(ipTokens[i]);
if(partIp < 0 || partIp > 255)
validIP = false;
} // for
} // if
System.out.println("Ip valid: " + validIP);
}