Java - Ayuda Con Ejercicio de Programación

 
Vista:
sin imagen de perfil

Ayuda Con Ejercicio de Programación

Publicado por Nicolás (1 intervención) el 07/09/2017 15:34:31
Hola! Como están?

Les cuento, actualmente estamos programando en JAVA con Eclipse. En las últimas clases vimos 2 cadenas "substring" y la cadena "length". Anteriormente hemos visto también For, While, Switch, Vectores.

La profesora nos indica que el ejercicio que nos dió se puede resolver sin vectores y es el siguiente:

Ejercicio 37 (Trabajo para entregar)



1) Ingresar correo electrónico como por ejemplo: "[email protected]"
2) Mostrar el nombre de usuario
3) Se deben ingresar correos hasta que se ingrese "[email protected]"
4) Cuando finalice nos debe informar:
a) Cantidad de correos que pertenecen al servidor “Gmail”
b) Cantidad de correos que pertenecen al servidor “Hotmail”
c) Cantidad de correos que pertenecen al servidor “Yahoo”
d) Cantidad de correos que pertenecen al servidor “Live”
5) Informar el servidor con mayor cantidad de usuarios

Lo que está antes del @ del correo ingresado es el usuario y lo que está despúes es el servidor.

No sé como puedo separar el nombre de usuario, se que si comparo con While puedo hacer que cuando se ingrese un correo electrónico, la cadena frene en el "@", pero no sé como guardarlo. O quizás me esté equivocando, podrían ayudarme? Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 144
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda Con Ejercicio de Programación

Publicado por Thanatos (97 intervenciones) el 08/09/2017 09:02:02
Como el ejercicio parece pensado para practicar el uso de cadenas, podrías utilizar el método indexOf() de la clase String. Este método devuelve el índice (tipo int) de la primera posición en la que se encuentra el carácter que se le pasa como parámetro, si el carácter no se encuentra en la cadena devuelve -1.

Tomando el ejemplo que pusiste:

1
String email = "sanchezlucia@live.com"

Para obtener el índice en el que se encuentra el carácter @:

1
int iArroba = email.indexOf('@');

Luego necesitarás encontrar el índice en el que se encuentra el carácter punto. El punto que se está buscando se encuentra después del carácter @, entonces se utiliza el método indexOf() indicándole la posición a partir de la cual debe buscar el índice del carácter punto:

1
int iPunto  = email.indexOf('.', iArroba);

Teniendo esos datos ya se conocen los límites de las subcadenas que se van a utilizar en tu programa:
El usuario desde 0 hasta iArroba
El nombre del servidor desde iArroba + 1 hasta iPunto

Finalmente, se obtienen las subcadenas con el método substring():

1
2
String usuario  = email.substring(0, iArroba);
String servidor = email.substring(iArroba + 1, iPunto);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar