filtrar ip
Publicado por Mario (1 intervención) el 26/03/2008 01:36:04
hola! tengo el siguiente drama, tengo que crear un programa q me valide ip's correctas llevo lo sig:
import javax.swing.JOptionPane;
public class laboraratorio2{
public static void main(String[] args){
char retry='s';
while (retry=='s'){
String oracion = JOptionPane.showInputDialog("Ingresa una ip:");
boolean continua = true;
oracion = oracion.trim();
int cont=0;
System.out.println(oracion);
boolean esvalida = false;
int largo=oracion.length();
int punto = oracion.indexOf('.');
if (largo>15){
continua=false;
}
if (continua){
for (int iii=0;iii<largo;iii++){
char caracter=oracion.charAt(iii);
if (caracter>48 && caracter<57 || caracter=='.'){
if (caracter=='.'){
char temp1caracter=oracion.charAt(iii+1);
cont++;
if (temp1caracter=='.'){
continua= false;
iii=largo;
}
}
}
else{
continua= false;
iii=largo;
}
}
}
if (continua){
if (cont!=3){
continua= false;
}
}
String cadena1 =oracion.substring(punto+1,largo);
System.out.println(cadena1);
int largo2=cadena1.length();
int punto2 = cadena1.indexOf('.');
String cadena2 =cadena1.substring(punto2+1,largo2);
System.out.println(cadena2);
int punto3 = cadena2.indexOf('.');
int largo3=cadena2.length();
String cadena3 =cadena2.substring(punto3+1,largo3);
System.out.println(cadena3);
if (continua){
int tempvalor1 = Integer.parseInt(oracion.substring(0,punto));
System.out.println(tempvalor1);
if (tempvalor1>255 || tempvalor1<0){
continua= false;
}
}
if (continua){
int tempvalor2 = Integer.parseInt(cadena1.substring(0,punto2));
System.out.println(tempvalor2);
if (tempvalor2>255 || tempvalor2<0){
continua= false;
}
}
if (continua){
int tempvalor3 = Integer.parseInt(cadena2.substring(0,punto3));
System.out.println(tempvalor3);
if (tempvalor3>255 || tempvalor3<0){
continua= false;
}
}
if (continua){
int tempvalor4 = Integer.parseInt(cadena3);
System.out.println(tempvalor4);
if (tempvalor4>255 || tempvalor4<0){
continua= false;
}
else{
esvalida=true;
}
}
System.out.println("final");
// termina aqui
if (esvalida){
JOptionPane.showMessageDialog(null,"La ip es válida");
}
else{
JOptionPane.showMessageDialog(null,"La ip es inválida");
}
String denuevo = JOptionPane.showInputDialog("Desea continuar s/n:");
char restar=denuevo.charAt(0);
retry=restar;
}
}
}
Pero no me valida la ip 0.0.0.0 :( help!
import javax.swing.JOptionPane;
public class laboraratorio2{
public static void main(String[] args){
char retry='s';
while (retry=='s'){
String oracion = JOptionPane.showInputDialog("Ingresa una ip:");
boolean continua = true;
oracion = oracion.trim();
int cont=0;
System.out.println(oracion);
boolean esvalida = false;
int largo=oracion.length();
int punto = oracion.indexOf('.');
if (largo>15){
continua=false;
}
if (continua){
for (int iii=0;iii<largo;iii++){
char caracter=oracion.charAt(iii);
if (caracter>48 && caracter<57 || caracter=='.'){
if (caracter=='.'){
char temp1caracter=oracion.charAt(iii+1);
cont++;
if (temp1caracter=='.'){
continua= false;
iii=largo;
}
}
}
else{
continua= false;
iii=largo;
}
}
}
if (continua){
if (cont!=3){
continua= false;
}
}
String cadena1 =oracion.substring(punto+1,largo);
System.out.println(cadena1);
int largo2=cadena1.length();
int punto2 = cadena1.indexOf('.');
String cadena2 =cadena1.substring(punto2+1,largo2);
System.out.println(cadena2);
int punto3 = cadena2.indexOf('.');
int largo3=cadena2.length();
String cadena3 =cadena2.substring(punto3+1,largo3);
System.out.println(cadena3);
if (continua){
int tempvalor1 = Integer.parseInt(oracion.substring(0,punto));
System.out.println(tempvalor1);
if (tempvalor1>255 || tempvalor1<0){
continua= false;
}
}
if (continua){
int tempvalor2 = Integer.parseInt(cadena1.substring(0,punto2));
System.out.println(tempvalor2);
if (tempvalor2>255 || tempvalor2<0){
continua= false;
}
}
if (continua){
int tempvalor3 = Integer.parseInt(cadena2.substring(0,punto3));
System.out.println(tempvalor3);
if (tempvalor3>255 || tempvalor3<0){
continua= false;
}
}
if (continua){
int tempvalor4 = Integer.parseInt(cadena3);
System.out.println(tempvalor4);
if (tempvalor4>255 || tempvalor4<0){
continua= false;
}
else{
esvalida=true;
}
}
System.out.println("final");
// termina aqui
if (esvalida){
JOptionPane.showMessageDialog(null,"La ip es válida");
}
else{
JOptionPane.showMessageDialog(null,"La ip es inválida");
}
String denuevo = JOptionPane.showInputDialog("Desea continuar s/n:");
char restar=denuevo.charAt(0);
retry=restar;
}
}
}
Pero no me valida la ip 0.0.0.0 :( help!
Valora esta pregunta


0