Retomando el reto Java.

Soy una novata comenzando en la aventura de Java, este es mi diario de avance personal.

Todo comienza con un: ¡Hola mundo!

En este blog no encontrarás a una experta en programación, solo presenciarás el desarrollo de esta aventura personal.

No soy programadora.

No estudié nada relacionado a informática, solo soy una entusiasta más con hambre de aprender.

Todo comienza con la primera línea.

Pero con esa línea se difumina el lenguaje, no desistir es la clave.

Todo suma...

El aprendizaje de hoy suma con el de mañana y así sucesivamente. Mantener este diario como demostración a mí misma de que se puede.

martes, 8 de marzo de 2016

Debut y despedida en Java...

Quiero agradecerles a cada una de las personas de diferentes países por haber visitado mi blog, se convirtieron en una más de mis motivaciones para seguir aprendiendo por cuenta propia. 

Gracias al entusiasmo y avance que he dedicado a este proceso con Java, me ha cobijado un coach a quien le debo enorme respeto y admiración por su gran conocimiento en la materia de desarrollo de Software.

Hoy tuve una charla inspiradora, me cuestionó sobre: ¿Qué quiero hacer en 5 años? y pues le planteé mis deseos y gracias a que conoce de lo que habla, me comentó que estaba muy bien aprender Java, pero que en vista de que el tiempo corre y es finito, debo concentrar mis esfuerzos en habilidades que me lleven a donde deseo estar parada en ese tiempo.

Pues gracias a su charla y a ofrecerme su guía durante mi proceso de auto aprendizaje, he aceptado a dedicar mi tiempo, esfuerzo, entusiasmo a otro lenguaje, me mudaré a Ruby. 

Es genial recibir ayuda y asesoría cuando más lo deseas y necesitas.

Me despido de ustedes, es hora de comenzar por un nuevo camino, no desdeño lo aprendido en Java, la pasé muy bien, me divertí y creo que es un gran lenguaje para tener bases de programación. 

¡Gracias a todos! 

domingo, 6 de marzo de 2016

Solución programa 10: El número más largo.

A continuación se muestra la solución propuesta para el programa 10 de este blog:

Se muestra corriendo en NetBeans:



Seguimos con más ejercicios...

¡Saludos!

sábado, 5 de marzo de 2016

Programa 10: Encuentra el número más largo.

El siguiente problema a resolver en este blog es el siguiente:

El proceso de encontrar el valor más grande se utiliza con frecuencia en aplicaciones informáticas. Por ejemplo, un programa que determina al ganador de una competición de ventas introduciría el número de unidades vendidas por cada vendedor. El vendedor que vende la mayor parte de unidades gana la competición. 

Escriba una aplicación en Java en la que introduce una serie de 10 números enteros, determina e imprime el número entero más grande. Su programa debería usar al menos las tres variables siguientes: 

a) contador: Un contador para contar a 10 (es decir, para realizar un seguimiento de cuántos números se han introducido y para determinar si las 10 números han sido procesadas).

b)  número: El número entero más recientemente introducido por el usuario. 

c) más grande: el número más grande encontrado hasta ahora.

En la próxima entrada colocaré mi propuesta de solución...

¡Saludos!

viernes, 4 de marzo de 2016

Solución problema 9: Consumo de combustible (millas / galón).

A continuación comparto con ustedes la solución de este problema, recuerden existen muchos caminos para llegar a la solución, esta es la propuesta:


A continuación el programa corriendo en NetBeans:

Un agradecimiento especial a Phelps por su apoyo y guía...

¡Seguimos!

jueves, 3 de marzo de 2016

Programa 9: Consumo de combustible (millas / galón).

A continuación se presenta el primer ejercicio a final del capítulo 4 del libro de Deitel y el programa número 9 de este blog:

Los conductores están preocupados con el kilometraje recorrido de sus automóviles.

Un conductor ha mantenido un seguimiento de varios viajes mediante el registro de las millas conducidas y galones usados para cada depósito.

Desarrolle una aplicación de Java que introducirá las millas conducidas y galones usados (ambos como números enteros) para cada viaje.

El programa debe calcular y mostrar las millas por galón obtenidos para cada viaje e imprimir las millas por galón obtenidos para todos los viajes hasta este punto.

Todos los cálculos de tipo promedio deben producir resultados de tipo flotante. 

Para dar cara al problema comencemos con proponer el diagrama UML de la clase que se creará llamada ConsumoCombustible:


Esta es la propuesta de la clase ConsumoCombustible, nos vemos en la siguiente entrada con la solución de este problema.

¡Saludos!



martes, 1 de marzo de 2016

Ejemplo de las clases: Graphics y JPanel.

A continuación se muestra el código de cómo se hace uso de las clases Graphics y JPanel en Java:



Se puede apreciar el resultado de manera gráfica de este ejemplo.

Aparecen nuevas palabras reservadas como extends que será visto con mayor detalle hasta llegar al capítulo 9, mientras seguimos en ultimar los detalles teóricos de este capítulo 4 para iniciar con la solución de los ejercicios propuestos al final de este capítulo.

¡Saludos!

domingo, 28 de febrero de 2016

Operadores de asignación compuestos.

Los operadores son palabras o símbolos que hacen que permiten realizar operaciones con los datos de un programa, para cada tipo de datos hay una serie de operadores definidos.

Entre todos los operadores se distingue el operador de asignación “=”, que se puede leer como “guarda un valor en la variable indicada”, el valor puede ser una constante literal o el resultado de una expresión.

Existen los operadores de incremento “++” y decremento “--“, éstos tienen el efecto de aumentar o decrementar en una unidad el valor de una variable, supongamos que estamos trabajando con la variable x:

x++;  /* equivale a hacer: x  =  x + 1;*/

x--;  /* equivale a hacer: x  =  x – 1;*/

Los operadores de la asignación compuestos abrevian expresiones de la asignación. Declaraciones como:

variable = variable operador expresión;

En donde el operador es in de los operadores binarios como: +, - , * , / o % y pueden ser escritos de la siguiente forma:

variable operador = expresión;

Por ejemplo, podemos abreviar:

c = c + 3;

Con el operador de asignación compuesto, += , como:

c += 3;

El += operador suma el valor de la expresión a su derecha el valor de la variable de su izquierda y almacena el resultado en la variable a la izquierda del operador.

Seguimos con más teoría...

¡Saludos!


sábado, 27 de febrero de 2016

Diseño descendente (top-down).

La descomposición de un programa en módulos más pequeños se conoce como el método de divide y vencerás (divide and conquer) o diseño descendente (top-down). Consiste en dividir un problema en unidades más pequeñas sucesivas hasta que sean directamente ejecutadas, en otras palabras, la solución del problema se divide una y otra vez hasta que esté expresada en términos de estructuras de control, cada uno de los niveles o pasos sucesivos se conoce como refinamiento (stepwise).

La metodología del diseño descendente consiste en efectuar una relación entre las etapas de estructuración de manera que se relacionen entre sí a través de entradas y salidas de datos. Es decir, se descompone el problema en etapas de estructuración jerárquicas, de forma que se pueda considerar cada estructura desde dos puntos de vista: ¿qué hace? y ¿cómo lo hace?

Con lo anterior podemos decir que: un módulo se caracteriza por realizar una tarea específica, posee sus propios datos de entrada – llamados parámetros de entrada – y su resultado – llamado salida o valor de retorno –. El diseño de cada módulo debe ser independiente de los otros; si es necesario que exista comunicación entre ellos, ésta únicamente podrá realizarse a través de los parámetros de entrada y del valor de retorno. En este sentido, puede ser visto, por otros módulos, como una caja negra que hacia el exterior sólo muestra qué hace y qué necesita, pero no cómo lo hace.

La creación de un modulo conlleva dos partes: la definición del módulo y la llamada o invocación (ejecución). La primera consta de tres partes:

- Definir los parámetros de entrada;
- Definir el valor de retorno;
- Escribir todas las instrucciones que le permitirán llevar a cabo la tarea, es decir, un algoritmo.

La llamada o invocación a un módulo es el proceso de ejecutar el conjunto de instrucciones definidas en el módulo dado un conjunto de entradas específico. La forma general de invocar un módulo es escribiendo su nombre y entre paréntesis los valores de cada uno de los parámetros de entrada, respetando el orden que con el que se definió.

No existe un método para saber en cuántos módulos se debe dividir un problema, sin embargo es importante tener en cuenta los siguientes principios del diseño modular:

- Las partes altamente relacionadas deben pertenecer a un mismo módulo. 
- Las partes no relacionadas deben residir en módulos diferentes.

Ventajas que proporciona un diseño modular:

1. Es posible reutilizar código, ésta indudablemente es una de las más importantes ya que no es necesario escribir el mismo código cada vez que deseamos realizar una tarea semejante.

2. Fácil detección y corrección de errores, dado que el problema fue divido en pequeños módulos cada uno responsable de una tarea, si en algún momento existiera un error en la solución global, basta identificar cuál de las tareas es la que no se está resolviendo adecuadamente y corregir únicamente aquellos módulos involucrados.

3. Fácil modificación o extensión, si se requiere modificar una tarea del problema o agregar una nueva, no será necesario rediseñar todo el algoritmo, basta con hacer las modificaciones en los módulos pertinente.

4. Un problema se vuelva más sencillo de solucionar si pensamos de manera modular.

Seguimos con más teoría...

¡Saludos!

viernes, 26 de febrero de 2016

Contadores, acumuladores e interruptores.

En la mayor parte del diseño o implementación de las soluciones que se plantea a problemas específicos nos encontramos con instrucciones que deben ejecutarse un número determinado de veces, si hacemos un análisis más profundo de estas situaciones, en la mayoría de las ocasiones nos encontramos que las instrucciones son las mismas, pero que los datos varían, esto se hace posible utilizando las estructuras repetitivas, generalmente llamadas ciclos.

Existen varias estructuras de repetición implementadas por los diferentes lenguajes de programación, todas con la misma idea: repetir un conjunto de instrucciones, llamadas cuerpo del ciclo, dependiendo de la condición. En la mayoría de los ciclos el cuerpo se repiten siempre y cuando la condición se cumpla, sin embargo, también existe una estructura repetitiva que se repite en tanto que no se cumple la condición. Cabe mencionar que a cada una de las veces que se repite el ciclo se le conoce como iteración.

Cuando se utilizan ciclos dentro de un programa, te puedes enfrentar a dos posibles situaciones:

- Que conozcas desde el diseño cuántas veces deben repetirse las instrucciones (repetición
definida),

- Que el número de veces que se deban repetir las instrucciones dependa de un valor que se
conoce hasta el momento de la ejecución del ciclo (repetición indefinida).

En el primer caso se necesitará una variable que funja como un contador, en la cual se registre el número de iteraciones que se vayan ejecutando. En cambio, en las repeticiones indefinidas generalmente se controlan mediante interruptores o banderas, o bien, con valores centinela.

La repetición controlada de la centinela a menudo es llamada la repetición indefinida porque el número de repeticiones no es conocido antes de que el bucle comience a ejecutarse.


Con los anterior puedes darte cuenta que para las estructuras de control repetitivas es muy importante el uso de variables auxiliares y que por la frecuencia con la que se utilizan dentro de un algoritmo y por la función que realizan dentro del mismo toman un nombre especial: contadores, acumuladores e interruptores.

Un contador es una variable comúnmente de tipo entero destinada a almacenar un valor que se irá incrementando o decrementando en una cantidad constante. Se suelen utilizar mucho en procesos repetitivos definidos, para contabilizar el número de veces que se repite un conjunto de acciones o eventos, es decir en los cuerpos de las instrucciones repetitivas.

Sobre una variable contadora se realizan dos operaciones básicas: inicialización e incremento o decremento, según sea el caso. Todo contador se debe inicializar con un valor inicial (0, 1...)

contador = Valor_Inicial

Cada vez que aparezca el evento a contar se ha de incrementar o decrementar en una cantidad fija (I, D respectivamente) el valor del contador.

contador = contador + I; 
contador = contador - D;

Los contadores más utilizados tienen incrementos o decrementos de uno en uno.

En contraste, un interruptor o bandera es una variable que puede tomar dos posibles valores a lo largo de la ejecución del programa, éstos son: 1 (encendido/abierto) y 0 (apagado/cerrado), de ahí su nombre. Y se utilizan principalmente para registrar la ocurrencia o no de un suceso.

Por último, un acumulador es una variable cuyo objetivo es acumular cantidades sucesivas obtenidas al realizar la misma operación. El uso más habitual de un acumulador es obtener sumas y productos. Al igual que con los contadores, para poder utilizar un acumulador hay que realizar sobre ellos dos operaciones básicas: inicialización e incremento.

En el caso de obtener sumas el acumulador se inicializa en cero y en el caso de los productos en uno, para no afectar el resultado.

SumaTotal = 0; 
ProductoFinal = 1;

Una vez obtenido y almacenado en una variable la cantidad a acumular la añadimos a la variable acumulador:



En resumen, los contadores permiten llevar la cuenta del número de iteraciones que se realizan en un ciclo (definido o indefinido), y en el caso específico de ciclos definidos son el medio por el cual se controla el fin del ciclo. Por otro lado los acumuladores nos permiten guardar resultados parciales de operaciones que se realizan como parte del cuerpo de un ciclo (puede ser definido o indefinido). 

Seguimos con más teoría...

¡Saludos!

jueves, 25 de febrero de 2016

Estructura iterativa while.

Para sintetizar cómo se lleva a cabo las estructuras selectivas o condicional, a continuación se muestra el psedocódigo, en Java y el diagrama de flujo de las acciones que en un diagrama UML se realizarán en un while:


Debemos prestar atención en colocar correctamente la condición dentro del while para evitar ciclos infinitos.

¡Seguimos!

miércoles, 24 de febrero de 2016

Operador condicional ?:

Al conocer este operador condicional ?: me ha parecido fabuloso poder usarlo en vez del if-else, creo que el código puede ser más claro y más corto aún. Este operador condicional es el único operador ternario, es decir que maneja tres operandos.

El primer operador que se encuentra  a la izquierda del ? es la condición que dará la pauta para devolver un valor "true" o "false"(boolean expression), según sea el caso; el segundo operador se encuentra entre ? y : que será el valor que deberá imprimir en caso de que la condición se cumpla es decir si es "true" , en este caso se lo asignamos de antemano y el tercer operador que se encuentra a la derecha de : es el valor que deberá imprimir en caso de que la condición no se cumpla es decir si es "false".

Por ejemplo:

System.out.println(studentGrade >= 60 ? "Passed" : "Failed");


En este ejemplo, si la condición de que el alumno tenga una nota mayor o igual a 60 se cumple imprimirá: "Passed", en caso de que no se cumpla la condición imprimirá "Failed".

No sé ustedes, pero me ha encantado este operador condicional, voy hacer mis planas para que no se me olvide jajaja.

¡Nos vemos en la siguiente entrada de este blog!


martes, 23 de febrero de 2016

Uso de if-else de manera reiterada...

A continuación se muestra el uso de if-else de manera reiterada para la solución de un problema, al parecer va a ser más común de lo que pensaba el uso del if-else tal como se muestra a continuación:

En lo personal, me ha gustado más la segunda opción de cómo presentar el código en Java, ya que se ve  más compacto y es entendible; lo que eliminamos fueron espacios en blanco e indentación. La primera y segunda forma de presentar en Java son válidas, dependerá del gusto de cada persona.

¡Seguimos en pie de lucha! :)

¡Saludos!

lunes, 22 de febrero de 2016

Estructuras selectivas: if, if-else.

Para sintetizar cómo se lleva a cabo las estructuras selectivas o condicional, a continuación se muestra el psedocódigo, en Java y el diagrama de flujo de las acciones que en un diagrama UML se realizarán en un if:


A continuación se muestra el pseudocódigo, en Java y el diagrama de flujo de las acciones que se realizarán en un diagrama UML de un if-else:


¡Ya quiero entrar en acción!, pero bueno la teoría es importante...

¡Saludos!

viernes, 19 de febrero de 2016

Un pseudocódigo para elegir la estructura iterativa correcta...

A continuación les comparto un pequeño pseudocódigo que nos ayudará a elegir la mejor estructura iterativa para la solución de problemas.


Si se conoce el número de iteraciones al entrar en el bucle. Utilizar la estructura "for"
     Ejemplo: for (k = 1; k<=10; k+=)

sino

      si  el bucle debe ejecutarse como mínimo cero veces . Utilizar la estructura "while"
          Ejemplo: while (a != 20)
                          { instrucciones}

          sino
                 Utilizar la estructura "do...while"
      fin si

fin si

Espero sea de utilidad...

¡Saludos!

jueves, 18 de febrero de 2016

Estructuras de control...

He comenzado con el capítulo 4 de Deitel, en el cual se trabajará con algunas estructuras de control, entre el capítulo 4 y 5 se verá cada una a detalle con ejemplos y ejercicios propuestos. Pero para conocer de manera rápida ¿Qué son las estructuras de control? Les dejo este pequeño vídeo en donde se resume dichas estructuras.

¡Saludos!

miércoles, 17 de febrero de 2016

Casting entre variables.

Hacer casting se trata de convertir información en distintos formatos.

Existen varios tipos de casting, los más comunes son:

- Conversión entre variables.
- Conversión entre objetos.
- Conversión de objetos a variables.
- Conversión de variables a objetos.

En esta ocasión les comparto únicamente el casting entre variables, mediante el siguiente vídeo:

Espero sea de ayuda esta breve introducción.

¡Nos vemos en la siguiente entrada!

martes, 16 de febrero de 2016

Explicación programa 8: Calculadora de ritmo cardíaco.

A continuación les comparto el código de cómo se realizó esta app de calculadora de ritmo cardíaco, a mi parecer una app muy entretenida y muy útil, ya que amo hacer ejercicio.


Espero les sea de utilidad y recuerden que solo soy una novata en Java.

¡Saludos!

lunes, 15 de febrero de 2016

Código mejorado del programa 8...

Después de divertirme con este entretenido programa, se realizaron algunas mejoras de usabilidad, les comparto una parte:

¡Nos vemos en la siguiente entrada!

sábado, 13 de febrero de 2016

Captura de pantalla del programa 8: Target-Heart. Corriendo en Netbeans.

A continuación les comparto la captura de pantalla  de cómo corre en Netbeans el programa 8: Calculadora Target - Heart:



En la siguiente entrada, les presentaré una breve explicación de esta solución.

¡Saludos!

miércoles, 10 de febrero de 2016

Programa 8: Target-Heart Calculadora. UML

Durante el ejercicio, usted puede utilizar un monitor de ritmo cardíaco para ver que su ritmo cardíaco se mantenga dentro de un rango seguro sugerido por sus entrenadores y médicos. Según la American Heart Association (AHA), la fórmula para el cálculo de su máximo ritmo cardíaco en pulsaciones por minuto es 220 menos su edad en años. Su meta de ritmo cardíaco es un rango entre 50-85% de su ritmo cardíaco máximo. [Nota: estas fórmulas son estimaciones de la AHA. El ritmo cardíaco máximo objetivo puede variar basado en la salud, aptitud y el sexo del individuo. Siempre consulte con un médico o profesional de salud calificado antes de comenzar o modificar el programa de ejercicios.

Crear una clase llamada pulsaciones. Debe incluir los atributos de clase de la persona, nombre, apellido y fecha de nacimiento (consistente de atributos separados para el mes, día y año de nacimiento). Su clase debe tener un constructor que recibe esta información como parámetros. Para cada atributo de conjunto y métodos.  La clase también debe incluir un método que calcula y devuelve la edad de la persona en años, un método que calcula y devuelve el pulso de la persona objetivo. Escribir una aplicación en java que solicita información de la persona, crea una instancia de un objeto de clase pulsaciones e imprime la información de ese objeto, incluyendo el nombre de la persona, apellido y fecha de nacimiento, entonces calcula e imprime la edad de la persona en años, frecuencia cardíaca máxima y rango meta de ritmo cardíaco.

A continuación dejaré planteado el diagrama UML para dar solución a este interesante y útil ejercicio.


En la siguiente entrada mostraré esta app corriendo.

¡Saludos! 

martes, 9 de febrero de 2016

Programa 7: Explicación app DateTest.

Crear una clase llamada Date que incluya tres variables de instancia: año, mes y día. Proporciona un constructor que inicialice tres variables de instancia y asume que los valores  proporcionados son correctos. Proporciona un método set y un método get para cada variable de instancia. Proporciona un método displayDate que muestre el año, mes y día separados por barras inclinadas (/). Escribir una aplicación denominada DateTest que muestre las capacidades de la clase Date.

A continuación muestro el diagrama UML de la clase Date, en base a este diagrama UML iré desarrollando la clase Date y la app DateTest.


A continuación les muestro cómo resolví este ejercicio y cómo corre la app:




¡Saludos!






lunes, 8 de febrero de 2016

Ejemplo de Graphical User Interfaces (GUIs).

En esta ocasión para concluir la parte teórica del capítulo 3 muestro el código del ejemplo de uso de GUIs.

Viene la parte interesante... que es realizar los ejercicios propuestos por Deitel al final del capítulo 3, en la realización de ejercicios me daré cuenta de que tan bien comprendí los conceptos de este capítulo lleno de conceptos nuevos.

¡Saludos!

domingo, 7 de febrero de 2016

Métodos constructor.

¿Qué hace Java cuando la palabra clave "new" crea un nuevo objeto?

- Localiza memoria para el objeto.
- Inicializa las variables instancia de ese objeto (null, false, etc.)
- Llama al método constructor de la clase.

Una de las razones para usar el método constructor es para inicializar con valores las variables de instancia y sin el método constructor se inicializa con los valores por defecto las variables de instancia:

- Para los números el valor por defecto es cero.
- Para los booleans el valor por defecto es falso.
- Por referencias de objeto es nulo --> null

En el siguiente vídeo vemos un poco más acerca del método constructor:
¡Saludos!




sábado, 6 de febrero de 2016

Encapsulamiento en Java...

A continuación les comparto una breve introducción sobre encapsulamiento en Java, ojalá sea de ayuda para comprender un poco acerca de este término.

Me falta afinar el término interface, conforme vaya avanzando seguro que tendré bases más sólidas para compartirles a mi entender este concepto.

¡Saludos!

viernes, 5 de febrero de 2016

Diagrama UML.

En este ocasión les comparto un vídeo en el que vemos las partes de un diagrama UML, el cual nos sirve para mostrar de manera gráfica y simplificada cada una de las clases y sus relaciones.

Mediante el uso del diagrama UML mostramos cada clase que esté involucrada en el desarrollo de software sin necesidad de incorporar el código que hay detrás de éstas.


¡Saludos!

jueves, 4 de febrero de 2016

Explicación de la aplicación AccountTest...

En esta entrada les comparto la explicación del código de la entrada anterior, según mi entender en este fascinante mundo de Java que apenas comienza.

Ojalá sea de gran utilidad, al menos para mí lo ha sido. Aquí les dejo el vídeo:


¡Saludos!

miércoles, 3 de febrero de 2016

Código de la clase Account y el código del ambiente AccountTest.

A continuación les comparto el código de la clase Account y el ambiente en el que vemos correr esta clase en la aplicación AccountTest, en la siguiente entrada me explico a mi misma el ejemplo de Account, en el que vemos en forma la ejecución en tiempo real de los métodos accesor y setName() y getName().

Código de la clase Account:

Código del ambiente en donde corre la aplicación Account, conocido como Driver Class:
App corriendo en NetBeans:

¡Nos vemos en la siguiente entrada!



lunes, 1 de febrero de 2016

Breve introducción a métodos Accesor.

He iniciado con el estudio del capítulo 3 del libro de Deitel, el cual es una introducción a: clases, métodos, objetos y Strings.

Parece más complicado de lo que realmente es, pero es normal porque se mencionan términos nuevos , al menos yo no me desanimo al contrario ya quiero avanzar más para poder realizar más programas en Java, creando mis propias clases. 

A continuación les comparto el siguiente video, sino queda muy claro, lo seguiré tratando conforme avance en el estudio de este importante capítulo.

¡Saludos!

Introducción al concepto: Instance Variable.

Para cada clase se definen sus propiedades, es decir sus atributos: que son los datos que diferencian a uno objetos de otros. 

Los atributos se almacenan en variables que pueden ser: variables de instancia y variables de clase.

A continuación les comparto el siguiente vídeo de introducción al concepto de: variable de instancia, que más adelante estaremos compartiendo en diferentes programas.


¡Saludos!

domingo, 31 de enero de 2016

Resumen Capítulo 2 Deitel & Deitel...

Ha sido una gran semana para iniciar con Java, en pocos días he logrado un gran avance, realizando programas básicos y repasando conceptos básicos del lenguaje.

Aquí les dejó un breve resumen de lo que he estudiado en estos 10 días.


¡Saludos!

viernes, 29 de enero de 2016

Programa 6: Calculadora de Índice de Masa Corporal.

Para los que nos preocupamos por nuestro estado de salud, tomando como parámetro nuestro peso, esta es una aplicación bonita y muy útil.

En este ejercicio se nos pide:

Crear una calculadora BMI que  solicite el peso del usuario en Kilogramos y la estatura  en metros, luego calcula y muestra el índice de masa corporal  del usuario. También, mostrar la siguiente información del Departamento de Salud y Servicios Humanos / Institutos Nacionales de Salud por lo que el usuario puede evaluar su índice de masa corporal.

BMI = (peso en Kilogramos) / (altura en metros)(altura en metros)

Valores BMI (Body Mass Index)

Peso bajo: menos de 18.5
Normal: entre 18.5 y 24.9
Sobrepeso: entre 25 y 29.9
Obeso: 30 ó más.

A continuación les comparto el vídeo en el cual muestro cómo lo resolví:


¡Nos vemos en el siguiente programa!


jueves, 28 de enero de 2016

Programa 5: Diámetro, circunferencia y área de un círculo.

Escribir una aplicación en la que solicites al usuario ingresar por teclado el radio de un círculo como número entero y que imprima en pantalla: el diámetro, circunferencia y área del  círculo. Usa las siguientes fórmulas:

En donde r es radio.

diámetro = 2r
circunferencia = 2π r
área = π r^2

Esta es la manera en la que escribí el código. A continuación les comparto el vídeo en el que se ve correr la aplicación:


¡Nos vemos en el siguiente programa!



miércoles, 27 de enero de 2016

Programa 4: Figuras con asteriscos.

En esta ocasión les comparto un programa sumamente sencillo que Deitel nos propone en la sección de ejercicios al final del capítulo número 2.

Se trata únicamente de imprimir las siguientes figuras:
A continuación les comparto el vídeo en donde se puede apreciar la aplicación corriendo en Netbeans:
¡Nos vemos en el siguiente programa!

¡Saludos!

martes, 26 de enero de 2016

Ejercicio 3: Comparación y operaciones de 3 números enteros.

Ejercicio 3: Escribe una aplicación en la que se ingresen 3 números por teclado y muestre en pantalla:
la suma, promedio, multiplicación, el número más pequeño y el número más grande. Nota: el cálculo del promedio en este ejercicio deberá mostrarse como entero.

A continuación les comparto el vídeo en el cual muestro el código y cómo corre en Netbeans:

¡Nos vemos en el siguiente programa!

¡Saludos!

Programa 2: mostrar el número más grande de 2 números.

En esta ocasión compartiré con ustedes el código del siguiente ejercicio.

Ejercicio 2: Escribe una aplicación en la que le pidas al usuario ingresar 2 números enteros, una vez que los coloca mostrar en pantalla el número más grande seguido de las palabras: es el más grande. Sí los dos números son iguales, imprimir en pantalla: "Estos números son iguales".

A continuación les comparto el código, visto desde Netbeans:


¡Nos vemos en el siguiente programa!


lunes, 25 de enero de 2016

Explicación del programa de comparación de 2 números enteros...

Hace un par de días compartí con ustedes el código de el primer programa en Java colocado en este blog, he dedicado tiempo a explicar por completo el código, para mí es importante saber qué es lo que se esta colocando en cada línea, de otra manera creo que no vale la pena avanzar...

Espero que este vídeo les ayude a comprender un poco mejor,  el cual me atreví a realizar siendo una novata en Java.

¡Saludos!


domingo, 24 de enero de 2016

¿Qué es una clase en Java?

Java es un lenguaje totalmente orientado a objetos.

Todo programa en Java se construye mediante: clases y objetos.

Tenemos clases y objetos que están hechos de: métodos y atributos.

Los métodos están hechos de: declaraciones y de expresiones.

Y las expresiones están hechas a partir del uso de operadores.

La OOP (programación orientada a objetos) es una metodología de desarrollo de software en la cual un programa se define como un grupo de objetos que trabajan juntos y esos objetos son creados a partir de plantillas llamadas clases.

Java organiza los programas en elementos llamados clases. Estas clases son usadas para crear objetos.

Para todas las clases se definen sus comportamientos (es decir métodos) y propiedades (atributos).

A continuación te presento el siguiente vídeo en donde podrás aprender más sobre la definición de una clase en Java.

Espero les sea de ayuda.

¡Saludos!








Método main()

En mi anterior post coloqué una aplicación de Java que compara dos números enteros entre sí. En esta aplicación de Java aparece el método main.

El método main inicializa la ejecución de la aplicación en Java.

Para explicar la firma del método main, he preparado este vídeo, que espero les sea de gran utilidad.



En siguiente post lo dedicaré al término de clase.

¡Saludos cordiales!

viernes, 22 de enero de 2016

Programa 1: Comparación de 2 números enteros.

A continuación les comparto el siguiente programa en Java que no es más que la comparación de dos números enteros usando sentencias de tipo if y operadores relacionales.

En el primer video les presentó el código y la captura de pantalla al correr el programa en Netbeans.

En el segundo video les muestro cómo corre el programa en Netbeans.

A continuación les comparto el código del programa:















Espero les sea de ayuda.

Estos son mis primeros pasos en Java...

¡Saludos!

jueves, 21 de enero de 2016

¿Por qué aprender Java? Video II.

En este vídeo les comparto 8 razones válidas para aprender Java: es un lenguaje poderoso, seguro, flexible, expandible, es orientado a objetos, entre otras razones. Hacerme consciente del poder del lenguaje en el que me voy a embarcar en un largo viaje es importante para no abandonar el barco, aunque mi cabeza quiera huir.

¡Saludos!


¿Por qué aprender Java?

No coloqué razones técnicas, en realidad es más un vídeo auto motivacional que espero les guste. ¡Saludos!


Convenciones en Java...


Convenciones Java y UML
Mayúsculas y minúsculas (I)

En Java existen una serie de convenciones con lo que respecta a la escritura de los PaquetesClasesMétodos y Variables.
  • Paquete
    • todas las letras en minúsculas
      • esteesunpaquete
  • Clases
    • la primera letra de la primera palabra compuesta en mayúsculas
    • la primera letra de la segunda y restantes palabras compuesta en mayúsculas
      • EstaEsUnaClase
  • Métodos
    • la primera letra de la primera palabra compuesta en minúsculas
    • la primera letra de la segunda y restantes palabras compuesta en mayúsculas
      • esteEsUnMetodo()
  • Variables
    • igual que los métodos
      • estaEsUnaVariable

Plan de acción...

A continuación el plan de acción inicial para iniciar con esta nueva aventura:

- Hasta el momento ya tengo instalado el programa Net Beans.

- El siguiente paso es realizar el recorrido virtual de Net Beans.

- Iniciar con el estudio de un mini curso de Java en línea.

- Realizar mapas mentales de los conceptos básicos.

- Iniciar con el libro de Deitel --->How to program. Early objects. Cada día dedicar al menos 1 hora de estudio diario. Empezando hoy mismo.

-  Ya cuento con el material de estudio, el lugar de registro de  mi actividad lo realizaré en este blog.

- Para el día 20 de Agosto deberé haber hecho una app que lleve mi registro de Km. recorridos que pueda ser capaz de usar en mi dispositivo móvil.

- Cualquier duda que tenga me dirigiré de nuevo al material de estudio.

- Si requiero de un apoyo extra para comprender conceptos, haré mención del apoyo en cuestión.

- Para el día 20 de Enero del 2017 deberé de ser capaz de realizar un juego que tengo en mente.

Estos son mis buenos deseos para mí en este camino de incertidumbre y conocimiento, recordando que: "TODO SUMA".

¡Saludos!

Todo comienza con la primera línea...

Por cuenta propia he decidido aprender java desde cero, considerando que no tengo idea de cómo programar, no tengo ninguna noción de programación. Será una aventura nueva y desafiante. Este blog es un diario de mi proceso de aprendizaje, tal vez me lleve años aprender, pero mientras no quite el dedo del renglón creo será un camino no tan fácil pero interesante e inquietante. Con este aprendizaje seguiré los consejos del maestro Carlos Miguel Prieto: 30 min. al día hacen la diferencia. ¡Saludos!