Jump to content
  • 0
JackReacher

Primer ejercicio en Java (aprendiendo a programar)

Question

Buenas,

Estoy aprendiendo a programar y lo estoy haciendo en Java porque es un lenguaje que me va a servir a para aprender la POO. Para aprender estoy con el curso de Pildoras Informáticas que el profe explica muy bien.

Recien estoy dando los primeros pasos y decidí hacer este ejercicio del cual me llevó bastante tiempo.

/*

* Se pide al usuario que introduzca su dirección de email con ayuda de la clase JOptionPane.

* Una vez introducido el email, el programa debe decir si la dirección de email es correcta o no teniendo en cuenta los siguientes requisitos:

* 1. Debe tener una @

* 2. No debe tener más de una @

* 3. Debe tener un punto

* 4. El commienzo de la dirección de email debe tener al menos 4 caracteres.

* 5. No debe contener espacios en blanco.

* El programa pedirá introducir indefinidamente la dirección de email si no es correcta o si tiene menos de 4 caracteres.

*/

Me enredé tanto que llegó un momento que tuve que empezar a pensarlo todo desde cero y comenzar nuevamente.

De acuerdo a las pruebas que hice funciona. Pueden ver el código LINK

Les pregunto a los que llevan meses y años programando ya sea en Java o en cualquier otro lenguaje, estruturado u orientado a objetos que me cuenten como hicieron uds para dominar la lógica.

Si analizan el código, piensan que lo podría haber hecho mucho más simple?

Es normal la frustración que siente al principio cuando no salen los ejercicios?

Por momentos me daban ganas de romper el teclado :pepechu:

Lo único que me mantenía era la premisa de Divide y Vencerás y que cada función/método tiene que realizar solamente una tarea. 

  • I love it 1

Share this post


Link to post
Share on other sites

Recommended Posts

  • 0
Posted (edited)
hace 1 hora, JackReacher dijo:

Buenas,

Estoy aprendiendo a programar y lo estoy haciendo en Java porque es un lenguaje que me va a servir a para aprender la POO. Para aprender estoy con el curso de Pildoras Informáticas que el profe explica muy bien.

Recien estoy dando los primeros pasos y decidí hacer este ejercicio del cual me llevó bastante tiempo.

/*

* Se pide al usuario que introduzca su dirección de email con ayuda de la clase JOptionPane.

* Una vez introducido el email, el programa debe decir si la dirección de email es correcta o no teniendo en cuenta los siguientes requisitos:

* 1. Debe tener una @

* 2. No debe tener más de una @

* 3. Debe tener un punto

* 4. El commienzo de la dirección de email debe tener al menos 4 caracteres.

* 5. No debe contener espacios en blanco.

* El programa pedirá introducir indefinidamente la dirección de email si no es correcta o si tiene menos de 4 caracteres.

*/

Me enredé tanto que llegó un momento que tuve que empezar a pensarlo todo desde cero y comenzar nuevamente.

De acuerdo a las pruebas que hice funciona. Pueden ver el código LINK

Les pregunto a los que llevan meses y años programando ya sea en Java o en cualquier otro lenguaje, estruturado u orientado a objetos que me cuenten como hicieron uds para dominar la lógica.

Si analizan el código, piensan que lo podría haber hecho mucho más simple?

Es normal la frustración que siente al principio cuando no salen los ejercicios?

Por momentos me daban ganas de romper el teclado :pepechu:

Lo único que me mantenía era la premisa de Divide y Vencerás y que cada función/método tiene que realizar solamente una tarea. 

No te frustres, gran parte de desarrolladores hemos pasado por eso, muchas veces repitiéndote que tú no sirves para ser programador y no es cierto, unos llegamos antes y otros después, pero al final llegas, si no tiras la toalla por supuesto, lo que me ayudo a mí en la lógica de la programación fue crear  mis aplicaciones usando algoritmo en pseudocódigo, una de mis primeras aplicaciones fue crear un bingo.

Te pongo un ejemplo

Algoritmo “Papa-frita”

Inicio:

Tomar las papas

Pelar las papas

Cortar las papas en tiras

Tomar el sartén y colocarla sobre la estufa

Encender el fuego de la estufa

Colocar el sartén con aceite para calentar

Esperar hasta que el aceite esté caliente

Colocar las papas para freír

Aguardar 10 minutos hasta que las papas estén fritas

Retirar las papas y servir

Pues lo  mismo es utilizando las Condicionales y los Bucles, solo traduce tu pseudocódigo a tu lenguaje de programación

Por cierto te recomiendo este libro de Java, esta muy bien

 

Edited by sandoya

Share this post


Link to post
Share on other sites
  • 0
Cita

Me enredé tanto que llegó un momento que tuve que empezar a pensarlo todo desde cero y comenzar nuevamente.

De acuerdo a las pruebas que hice funciona. Pueden ver el código LINK

Les pregunto a los que llevan meses y años programando ya sea en Java o en cualquier otro lenguaje, estruturado u orientado a objetos que me cuenten como hicieron uds para dominar la lógica.

Si analizan el código, piensan que lo podría haber hecho mucho más simple?

Es normal la frustración que siente al principio cuando no salen los ejercicios?

Mi experiencia personal, yo aprendí los conceptos muy bien de programación orientada a objetos con java y es bueno pensar en los conceptos como tal, pero me di cuenta en una clase de algoritmos que no sabía nada acerca de este tema, una cosa son los conceptos de y la estructura de programación orientada a objetos, pero otra cosa son los algoritmos, que básicamente hagan algo, con la menor cantidad de cálculos, recomiendo hackerrank para aprender algoritmos y algo de POO con java.

Actualmente ya hice una app para android y estoy realizando otra.

Share this post


Link to post
Share on other sites
  • 0
hace 1 hora, sandoya dijo:

No te frustres, gran parte de desarrolladores hemos pasado por eso, muchas veces repitiéndote que tú no sirves para ser programador y no es cierto, unos llegamos antes y otros después, pero al final llegas, si no tiras la toalla por supuesto, lo que me ayudo a mí en la lógica de la programación fue crear  mis aplicaciones usando algoritmo en pseudocódigo, una de mis primeras aplicaciones fue crear un bingo.

Por cierto te recomiendo este libro de Java, esta muy bien

 

Gracias sandoya, eso que dices es verdad. Cuando queres aprender enseguida queres codear pero creo que es un error y te lleva a empantanarte. Lo ideal y es lo que hoy experimenté fue que primero hay que tomarse el tiempo (para estudiar el problema, entenderlo, aplicar el famoso divide el problema en pequeños problemas y estos últimos en más pequeños y podrás vencer), y luego entonces sí pasarlo a código. Gracias por la recomendación del libro. 

1 hour ago, joseramiro dijo:

Mi experiencia personal, yo aprendí los conceptos muy bien de programación orientada a objetos con java y es bueno pensar en los conceptos como tal, pero me di cuenta en una clase de algoritmos que no sabía nada acerca de este tema, una cosa son los conceptos de y la estructura de programación orientada a objetos, pero otra cosa son los algoritmos, que básicamente hagan algo, con la menor cantidad de cálculos, recomiendo hackerrank para aprender algoritmos y algo de POO con java.

Actualmente ya hice una app para android y estoy realizando otra.

Creo que te refieres a que el algoritmo tenga el menor tiempo de computo del procesador, lo que se conoce como costo computacional, no? Esos temas me parece que aún son elevados para mi al día de hoy, quizas de acá a un par de meses pueda pensar en eso. Gracias por la recomendación del sitio.

Share this post


Link to post
Share on other sites
  • 0
Posted (edited)

El problema de empezar con programación estructurada es qué piensas en procesos y funciones. En la programación orienta objetos se piensa en casos de uso y reparto de responsabilidades etc. Hay muchas personas que suelen revolver ambos paradigmas y crear código espagueti (hasta maestros de universidad comete ese error). Desarrollar un software comercial se requiere más que solo codificar. Respecto a tu código con una sola función se resuelve usando expresiones regulares y recibiendo un solo parámetro, existen muchas malas practicas en ese código. Dominar el desarrollo de software requiere antes que nada consultar a las personas correctas, leer mucho libros de grandes autores, decidirse por un ecosistema de desarrollo etc saludos.

Edited by juliocesar2018

Share this post


Link to post
Share on other sites
  • 0
hace 55 minutos, juliocesar2018 dijo:

El problema de empezar con programación estructurada es qué piensas en procesos y funciones. En la programación orienta objetos se piensa en casos de uso y reparto de responsabilidades etc. Hay muchas personas que suelen revolver ambos paradigmas y crear código espagueti (hasta maestros de universidad comete ese error). Desarrollar un software comercial se requiere más que solo codificar. Respecto a tu código con una sola función se resuelve usando expresiones regulares y recibiendo un solo parámetro, existen muchas malas practicas en ese código. Dominar el desarrollo de software requiere antes que nada consultar a las personas correctas, leer mucho libros de grandes autores, decidirse por un ecosistema de desarrollo etc saludos.

Estoy seguro que mi código es horrible, aún así lo hice con amor. Espero en poco tiempo mejorar. Gracias por analizarlo.

Me recomiendas cuanto antes meterme de lleno en POO y no pensar más en estructurado?

1 hour ago, Alb_Orlando dijo:

yo recomiendo que hagas el curso de java de ubaldo acosta , te explica paso a paso todo java , veras que te sera util

Me fijo a ver que tal es. Gracias.

1 hour ago, david144 dijo:

Todo aprendizaje toma sus tiempo, en la plataforma hay bueno cursos de JAVA

Eso es lo bueno de esta comunidad, hay curso de lo que se te ocurra. Gracias.

1 hour ago, tyrano dijo:

Lleva tiempo la cuestión es que vayas a tu ritmo, leyendo libros, tutoriales, sigue así y no te rindas.

Saludos :)

Gracias por la buena onda!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...