Ver Mensaje Individual
  #6 (permalink)  
Antiguo 07/05/2006, 18:24
Avatar de Tipdar
Tipdar
 
Fecha de Ingreso: octubre-2005
Ubicación: Aquí y allá.
Mensajes: 323
Antigüedad: 19 años, 4 meses
Puntos: 7
Y por qué no usaste el StringTokenizer? Te habría hecho la vida mucho más feliz.

La versión de TolaWare funciona, aquí tienes otro algoritmo:

Código:
import java.util.StringTokenizer;
import java.util.regex.Pattern;

public class Clave {

	public static boolean validarClave(String clave) {
		if (!((Pattern.compile("[0-9]{3}-[0-9]{3}-[0-9]{3}")).matcher(clave))
				.matches())
			return false;

		StringTokenizer tokens = new StringTokenizer(clave, "-");

		String trio = tokens.nextToken();
		for (int i = 0; i < 3; i++)
			if (Integer.parseInt(new Character(trio.charAt(i)).toString()) < 5)
				return false;
		trio = tokens.nextToken();
		for (int i = 0; i < 3; i++)
			if (Integer.parseInt(new Character(trio.charAt(i)).toString()) >= 5)
				return false;
		trio = tokens.nextToken();
		char primervalor = trio.charAt(0);
		for (int i = 1; i < 3; i++)
			if (trio.charAt(i) != primervalor)
				return false;
		return true;
	}

	public static void main(String[] args) {
		System.out.println(Clave.validarClave("585-123-777"));
	}
        // esto retorna true si está bien escrita, según tus requerimientos,
        // y false si está mal escrita.
}
__________________
El último TipdaR

Última edición por Tipdar; 07/05/2006 a las 19:39