JAVA SE6 & Swing Capitulo 02 pag.28 Ej.1

0 comentarios

Construir un programa que calcule el número de segundos que hay.

a) en una semana

Lo primero que tenemos que recordar es cuantos segundos hay en un día, para ello tenemos que recordar que un día tiene 24 horas, una hora tiene 60 minutos y cada minuto 60 segundos. Tras calcular los segundos de un día ya podremos calcular los segundos de tantos días como queramos.

Nuestro primer objetivo es una semana por lo tanto son 7 días. La solución es la siguiente.

image

b) en un mes

Ahora nos solicitan un mes, lo cual es un problema por que no es un numero estándar, tenemos cuatro opciones que son 28 o 29 días en año bisiesto y luego tenemos los meses de 30 y 31 días.

image

c) en un año

En este caso tenemos solamente dos opciones, año normal y año bisiesto.

image

JAVA SE6 & Swing Capitulo 02 pag.25 Ej.3

0 comentarios

Construir un programa que calcule el producto de los 10 primeros números enteros. ¿Cuál es el mayor factorial calculable con números de tipo int, esto es, hasta qué valor de n se puede calcular el producto de los n primeros números enteros?

Me encontraba en una encrucijada con este ejercicio, me parecía demasiado trabajo para un ejercicio del segundo tema y después de estar picando y cabreándome me pare a mirar que es lo que decía la pagina web de esta pequeña practica y me encontré con lo que se puede observar aquí debajo, me parece una manera muy burda de engañar a la gente, imaginaros todas las líneas que llevaba escritas para encontrarme con que esta gente lo realizo con un for, una estructura de control que aunque todos conocemos forma parte del capitulo tres y no tendría que haber aparecido en este capitulo de manera que nos quedamos con el formato que nos ofrece José Rafael y asta que lleguemos allí hacemos un acto de fe de que el for solucionara todo lo que necesitamos.

image

JAVA SE6 & Swing Capitulo 02 pag.25 Ej.2

0 comentarios

2. Los tipos de datos numéricos no tienen alcance infinito. Construir un programa que multiplique dos números de tipo int con valores próximos al alcance indicado en la tabla. Comprobar que el resultado es incorrecto. Este problema se denomina desbordamiento, y se produce cuando el resultado obtenido no se puede representar empleando el tipo de datos indicado.

Nombre

Tamaño

Alcance

short

16 bits

desde –32768 hasta 32767

int

32 bits

desde –2147483648 hasta

long

64 bits

desde –9233372036854775808 hasta 9233372036854775807

De esta manera si lo que buscamos es conseguir un desbordamiento de memoria solo tenemos que ponerle a cada tipo su máximo y sumarle uno.

image

Pero tal y como se puede contemplar en la imagen el desbordamiento u overflow no se produce, el tipo de dato es cíclico y nos retorno el siguiente valor. Os dejo lo que dice SUN sobre el por que de este funcionamiento.

Why does Java ignore overflow? Most computer hardware has no ability to automatically generate an interrupt on overflow. And some hardware has no ability to detect it. Java would have to explicitly test for it on every add, subtract and multiply, greatly slowing down production. Further ex-C programmers are very used to this cavalier ignoring of overflow, and commonly write code presuming that high order bits will be quietly dropped. The Pentium has hardware overflow detect but no hardware interrupt. So if Java were to support overflow detect, inside the JVM implementation would need to add a JO *jump on overflow" instruction after every add and subtract, and special code to look at the high order bits of the 32x32->64 bit multiply. 64/32->32 bit division might need special handling.

JAVA SE6 & Swing Capitulo 02 pag.25 Ej. 1

0 comentarios

1º Construir las tablas de multiplicar (hasta el 5) utilizando el formato tabulado habitual.

Hasta este punto lo que el libro nos ha enseñado son tres cosas:

-La lógica de entrada y salida de datos. Esto sirve para que el usuario pueda interactuar con el programa.

-Los operadores aritméticos básicos que son ( + , – , * , / , % )

-Los tres tipos de enteros y lo que ocupa cada uno en memoria.

  • short --> 16 bits
  • (int)eger --> 32 bits
  • long --> 64 bits

Por lo que el código quedaría como se puede observar en la imagen, o como se puede observar en el código adjunto.

TablaMultiplicar.java

Menudo pollo

0 comentarios

Bufff, que asco de vida, me dan toda una nueva funcionalidad para desarrollar y como yo lo veo claro creando un PL/SQL y algún script que ejecute y recupere los logs lo taso en "X" horas y ahora si o si lo tengo que hacer todo bajo Java, con un Framework más violado que la dignidad del internauta (gracias Sinde).

Total que no se como lo voy a hacer ni para cuando lo tendré, pero ya me he comprometido con una fecha y ahora tengo que cumplir, y yo me pregunto, no me podrían haber dicho de saque que nada de originalidad y que todo con Java, le hubiera puesto más horas.

JAVA SE6 & Swing Capitulo 01 pag.12 Ej.4

0 comentarios

4. En los ejercicios cuatro, cinco y seis el libro nos solicita que hagamos un mismo ejercicio en tres SDK diferentes, te indican que los realices con los sistemas netBeans (Propiedad de SUN microsistem, actualmente comprada por Oracle), Eclipse (personalmente es el que uso tanto en el trabajo como en casa) y en TextPad del cual no había escuchado hablar hasta que leí este libro

El codigo que se tiene que introducir es el siguiente:
public class HelloWorld{
public static void main (String[] argumentos){
System.out.print("Hola, mundo");
}
}
Una vez introducido este código lo podríamos ejecutar directamente desde eclipse o desde la consola, los resultados son los que se pueden ver en la imagen.



JAVA SE6 & Swing Capitulo 01 pag.12 Ej.3

0 comentarios

3. ¿Qué sucede al escribir la siguiente línea de ordenes?

javac -x

El resultado es el que se puede visualizar en las siguientes imagenes

JAVA SE6 & Swing Capitulo 1 Ejercicio 3

JAVA SE6 & Swing Capitulo 1 Ejercicio 3

JAVA SE6 & Swing Capitulo 01 pag.12 Ej.2

0 comentarios


2. ¿Qué sucede al escribir la siguiente línea de órdenes?

javac


Se pueden observar opciones diferente segun en el sistema operativo en el que se ejecute.

JAVA SE6 & Swing Capitulo 1 Ejercicio 2

JAVA SE6 & Swing Capitulo 1 Ejercicio 2

JAVA SE6 & Swing Capitulo 01 pag.11 Ej.1

0 comentarios


1. ¿Qué sucede al escribir la siguiente línea de ordenes?

Una vez introducido como resultado te da la versión de java que estas utilizando.
El ejercicio se vasa en cargar la línea de comandos y poner el comando “java –version” y el resultado es el siguiente
JAVA SE6 & Swing Capitulo 1 Ejercicio 1

Inicio de un proyecto

0 comentarios

El otro día un amigo me hablo de un proyecto, en realidad no es lo que me monte en la cabeza, la realidad es que el necesitaba un programa que gestionara unos clientes y sus tratamientos. Haciendo caso a un programa tan simple él tiene pensado hacerlo con Access ya que solo lo va a usar una persona.



Personalmente le daré apoyo pero en mi caso me di cuenta de una cosa, ya no me acuerdo como hacer programas de escritorio con Java, por lo que ni corto ni perezoso pensé que esta sería la mejor manera ya que todo quedaría mejor encapsulado y con una seguridad algo mayor, el problema aquí está en la base de datos ya que todas las que estoy acostumbrado a tocar necesitan o bien licencia por lo que el usuario tendría que pagar o bien instalaciones que no creo que el usuario quisiera asumir por lo que tras buscar un rato me encontré con la http://www.objectdb.com que es una especie de base de datos persistente, todavía no la he probado pero la cuestión es que ya tengo solucionada la parte de la base de datos.



JAVA SE6 & SwingEste es el libro que me llevara al "éxito" de este programa se lo recomiendo a todos los que quieran comenzar en el mundo de JAVA ya que es bastante actual y te da todas las nociones, desde un clásico "hola, Mundo!" hasta el programa ya terminado, la idea es seguir este libro hasta el final, haciendo todos los ejercicios pero, desde luego, derivándolo todo a la gestión de clientes que persigo para este proyecto.



Bueno, ya os iré informando de lo que vaya consiguiendo o de los problemas que vaya teniendo y las posibles soluciones que haya encontrado.
Posiblemente ire subiendo todos y cada uno de los ejercicios que plantea este libro, aunque no os puedo prometer nada.