<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-66037927599166795</id><updated>2011-11-17T09:04:12.064-08:00</updated><category term='Personal'/><category term='guías'/><category term='Código fuente'/><category term='Noticias'/><category term='Capítulo02'/><category term='Gráficos'/><category term='Matemática'/><category term='Conceptos'/><category term='Capítulo03'/><category term='Java'/><category term='Articles'/><category term='herramientas'/><category term='Sugerencias'/><title type='text'>Programación, Desarrollo, Ingeniería de Software, Frameworks, &amp;c</title><subtitle type='html'>Solución a problemas reales sobre el lenguaje de programación en Java</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>41</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-7453496355956874942</id><published>2011-11-17T08:38:00.001-08:00</published><updated>2011-11-17T09:04:12.093-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Código fuente'/><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Cómo subir un archivo al servidor usando JSP</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;En este corto tutorial expondré cómo subir un archivo a un servidor Tomcat, usando JSP.&lt;br /&gt;&lt;br /&gt;Primero que todo el formulario (&lt;i&gt;form.html&lt;/i&gt;):&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://pastebin.com/embed_iframe.php?i=CNvs50bC" style="border: none; height: 350px; width: 100%;"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;A continuación el script JSP (&lt;i&gt;uploadFile.jsp&lt;/i&gt;):&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://pastebin.com/embed_iframe.php?i=5gAGdFSV" style="border: none; height: 700px; width: 100%;"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;[Nota&lt;/b&gt;: Recuerden añadir estas librerías a &lt;i&gt;directorio_instalación_tomcatX/lib/:&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;i&gt;commons-fileupload-1.2.2.jar&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;commons-io-2.1.jar&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Las librerías las pueden descargar desde aquí:&amp;nbsp;&lt;a href="http://commons.apache.org/fileupload/download_fileupload.cgi"&gt;commons-fileupload-x.x.x.jar&lt;/a&gt; &lt;a href="http://commons.apache.org/io/download_io.cgi"&gt;commons-io-x.x.jar&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Además, no olviden reiniciar el servidor Web Tomcat.&lt;br /&gt;&lt;br /&gt;]&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-7453496355956874942?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/7453496355956874942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2011/11/como-subir-un-archivo-al-servidor.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/7453496355956874942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/7453496355956874942'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2011/11/como-subir-un-archivo-al-servidor.html' title='Cómo subir un archivo al servidor usando JSP'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total><georss:featurename>Carrera 7 # 10-1 a 10-99, Bogotá, Cundinamarca, Colombia</georss:featurename><georss:point>4.5980556 -74.0758333</georss:point><georss:box>4.0915821 -74.7075473 5.104529100000001 -73.4441193</georss:box></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-1227160894279444172</id><published>2011-11-07T06:37:00.000-08:00</published><updated>2011-11-07T06:37:59.346-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>¿Es recomendado el uso de Mapa de Imágenes?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Esta vez quiero hablerles sobre el uso de &lt;i&gt;&lt;b&gt;mapas de imágenes&lt;/b&gt;&lt;/i&gt; en sitios Web:&lt;br /&gt;&lt;br /&gt;¿Es recomendado su uso?&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Hace unos días dediqué ocasión para leer acerca de las mejores prácticas para acelerar el proceso de carga de un sitio Web, y me he encontrado con una consideración importante para reducir el número de peticiones (&lt;i&gt;requests&lt;/i&gt;, en inglés) tipo HTTP. Vale la pena discutir sobre este aspecto, ya que hoy por hoy, son muchos los aspectos a considerar cuando diseñamos, implementamos una aplicación Web.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;A pesar de que existen herramientas que automatizan este proceso, en casos específicos, debemos hacerlo &lt;i&gt;a mano, &lt;/i&gt;pues con esto ganamos mayor control sobre lo que estamos programando, y en lo que se refiere a &lt;b&gt;&lt;i&gt;mapas de imágenes&lt;/i&gt;&amp;nbsp;&lt;/b&gt;hay alternativas más apropiadas para llevar a cabo esta tarea, pero desde mi experiencia, puedo decir que:&lt;/div&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;El uso de mapas de imágenes obstaculiza la accesibilidad.&lt;/li&gt;&lt;li&gt;Es propenso a errores, debido al uso de coordenadas para su ubicación o definición.&lt;/li&gt;&lt;li&gt;El abánico de clientes Web es enorme, lo que acrecenta la posibilidad de casos de incompatibilidad.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;i&gt;¿Qué piensan uds. sobre este aspecto sobre el rendimiento de un sitio Web?&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-1227160894279444172?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/1227160894279444172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2011/11/es-recomendado-el-uso-de-mapa-de.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/1227160894279444172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/1227160894279444172'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2011/11/es-recomendado-el-uso-de-mapa-de.html' title='¿Es recomendado el uso de Mapa de Imágenes?'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total><georss:featurename>Bogotá, Bogota, Colombia</georss:featurename><georss:point>4.5980556 -74.0758333</georss:point><georss:box>4.0915821 -74.7075473 5.104529100000001 -73.4441193</georss:box></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-315399725674181718</id><published>2010-10-04T17:32:00.000-07:00</published><updated>2010-10-04T17:52:09.777-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='guías'/><title type='text'>Instalación de Zend Server CE en Ubuntu 10.04</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://static.zend.com/topics/zend-server-ce-screens.gif"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 385px; height: 331px;" src="http://static.zend.com/topics/zend-server-ce-screens.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Como he había escrito en un post anterior, estoy haciendo énfasis en el aprendizaje, desarrollo e implementación de tecnologías en la nube.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Entonces, a partir de ahora se inicia la entrega de diferentes guías, tutoriales, descargas, &amp;amp;c.&lt;br /&gt;&lt;br /&gt;Y es así, que para esta ocasión me he tomado un poco de tiempo para explicar el proceso de instalación automático de Zend Server Community Edition (CE) para Linux:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Descargar el script de instalación (disponible en RPM/DEB) desde &lt;a href="http://www.zend.com/products/server-ce/downloads"&gt;aquí&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Descomprimir el archivo recién descargado.&lt;/li&gt;&lt;li&gt;Ingresar al contenido del directorio descomprimido. Y ejecutar uno de los siguientes comandos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Para PHP 5.2:  &lt;span style="font-style: italic;"&gt;&lt;i&gt;sudo install_zs.sh 5.2 ce&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Para PHP 5.3:  &lt;span style="font-style: italic;"&gt;&lt;i&gt;sudo install_zs.sh 5.3 ce&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Una vez finalice la instalación podemos ingresar al administrador Web de Zend Server, así:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Modo seguro: https://localhost:10082/ZendServer&lt;/li&gt;&lt;li&gt;Modo normal: http://localhost:10081/ZendServer/&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Bueno, eso corresponde a la instalación de ZS. Espero que esto les sea de gran ayuda.&lt;br /&gt;&lt;br /&gt;Adicinal: dejo el &lt;a href="http://files.zend.com/help/Zend-Server-Community-Edition/zend-server-community-edition.htm#deb_installation.htm"&gt;link&lt;/a&gt; oficial de la comunidad de Zend.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-315399725674181718?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/315399725674181718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2010/10/instalacion-de-zend-server-ce-en-ubuntu.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/315399725674181718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/315399725674181718'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2010/10/instalacion-de-zend-server-ce-en-ubuntu.html' title='Instalación de Zend Server CE en Ubuntu 10.04'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-8835998997744691609</id><published>2010-10-03T15:18:00.001-07:00</published><updated>2010-10-03T15:18:16.671-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conceptos'/><title type='text'>Conceptos básicos de Programación y Diseño</title><content type='html'>&lt;p style="text-align: justify;"&gt;Programaci&amp;oacute;n: La base de la programaci&amp;oacute;n es la l&amp;oacute;gica binaria; hay una forma correcta e incorrecta para implementar un algoritmo dado.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Dise&amp;ntilde;o: La base del dise&amp;ntilde;o es c&amp;oacute;mo su cerebro interpreta lo que el ve; y dado que no todos interpretan las cosas de la misma manera, es imposible decir que si algo es correcto o incorrecto.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-8835998997744691609?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/8835998997744691609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2010/10/conceptos-basicos-de-programacion-y.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/8835998997744691609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/8835998997744691609'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2010/10/conceptos-basicos-de-programacion-y.html' title='Conceptos básicos de Programación y Diseño'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-7953521534554553540</id><published>2010-09-27T08:49:00.001-07:00</published><updated>2010-09-27T08:49:31.079-07:00</updated><title type='text'>openindiana la alternative verdaderamente OpensSource de OpenSolaris</title><content type='html'>&lt;p style="text-align: justify;"&gt;Como es s&amp;aacute;bido por la comunidad Open Source, OpenSolaris ya no recibir&amp;aacute; atenci&amp;oacute;n por parte de Oracle (qui&amp;eacute;n adquiri&amp;oacute; Sun Microsystems e hizo que se descontinuar&amp;aacute; el desarrollo del Sistema Operativo anteriormente nombrado), con lo cual muchos usuarios del dicho SO se ve afectada por esta situaci&amp;oacute;n.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Y claro, la comunidad inquietada, precisamente el grupo OpenIndiana que gracias al aporte de muchos usuarios ha proyectado el desarrollo de un sistema operativo basado en OpenSolaris. A continuaci&amp;oacute;n algunas im&amp;aacute;genes de lo que ser&amp;aacute; esta distribuci&amp;oacute;n GNU/Linux:&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;a href="http://revistalinux.net/articulos/primeras-imagenes-de-openindiana/attachment/1-7/"&gt;&lt;img src="http://revistalinux.net/files/2010/09/1-150x150.jpg" alt="" width="150" height="150" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;a href="http://revistalinux.net/articulos/primeras-imagenes-de-openindiana/attachment/3-5/"&gt;&lt;img src="http://revistalinux.net/files/2010/09/3-150x150.jpg" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;a href="http://revistalinux.net/articulos/primeras-imagenes-de-openindiana/attachment/5-4/"&gt;&lt;img src="http://revistalinux.net/files/2010/09/5-150x150.jpg" alt="" width="150" height="150" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;a href="http://revistalinux.net/articulos/primeras-imagenes-de-openindiana/attachment/10/"&gt;&lt;img src="http://revistalinux.net/files/2010/09/10-150x150.jpg" alt="" width="150" height="150" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;a href="http://revistalinux.net/articulos/primeras-imagenes-de-openindiana/attachment/18/"&gt;&lt;img src="http://revistalinux.net/files/2010/09/18-150x150.jpg" alt="" width="150" height="150" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;a href="http://revistalinux.net/articulos/primeras-imagenes-de-openindiana/attachment/20/"&gt;&lt;img src="http://revistalinux.net/files/2010/09/20-150x150.jpg" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Estar&amp;eacute; atento a nuevas noticias acerca de OpenIndiana para mantenerlos informados. Hasta pronto.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-7953521534554553540?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/7953521534554553540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2010/09/openindiana-la-alternative.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/7953521534554553540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/7953521534554553540'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2010/09/openindiana-la-alternative.html' title='openindiana la alternative verdaderamente OpensSource de OpenSolaris'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-7641606538181465746</id><published>2010-09-24T10:07:00.001-07:00</published><updated>2010-09-24T10:07:36.729-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'></title><content type='html'>&lt;p&gt;"&lt;em&gt;Each pattern describes a problem which occurs over and over again in our  environment, and then describes the core of the solution to that problem,  in such a way that you can use this solution a million times over, without  ever doing it the same way twice"&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;A Timeless Way of Building - Christopher Alexander&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-7641606538181465746?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/7641606538181465746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2010/09/each-pattern-describes-problem-which.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/7641606538181465746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/7641606538181465746'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2010/09/each-pattern-describes-problem-which.html' title=''/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-5490434964916952641</id><published>2010-09-24T09:46:00.001-07:00</published><updated>2010-09-24T09:46:12.545-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Noticias'/><title type='text'>Transición</title><content type='html'>&lt;p&gt;En Java M&amp;eacute;xico han publicado un corto art&amp;iacute;culo que habla sobre los problemas que evitan que Java sea usado como plataforma de desarrollo en empresas. Al iniciar, se menciona sobre lo que se considera Java hoy en d&amp;iacute;a, qui&amp;eacute;nes son las personas que m&amp;aacute;s lo est&amp;aacute;n usando, etc.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.javamexico.org/blogs/wishmaster77/se_siente_en_java_o_es_solo_mi_imaginacion"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;em&gt;M&amp;aacute;s...&lt;/em&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-5490434964916952641?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/5490434964916952641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2010/09/transicion.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/5490434964916952641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/5490434964916952641'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2010/09/transicion.html' title='Transición'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-5324146380935691519</id><published>2010-09-21T06:10:00.001-07:00</published><updated>2010-09-21T06:13:40.051-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Algunos conceptos sobre patrones e IS</title><content type='html'>&lt;p style="text-align: justify;"&gt;&amp;ldquo;Cada patr&amp;oacute;n describe un problema que ocurre una y otra vez en nuestro entorno, para describir despu&amp;eacute;s el n&amp;uacute;cleo de la soluci&amp;oacute;n a ese problema, de tal manera que esa soluci&amp;oacute;n pueda ser usada m&amp;aacute;s de un mill&amp;oacute;n de veces sin hacerlo siquiera dos veces de la misma forma&amp;rdquo; [Alexander - A Pattern Language Towns/Building/Construction]&lt;/p&gt;&lt;p&gt;Concepto de patr&amp;oacute;n de dise&amp;ntilde;o:&lt;/p&gt;&lt;p style="text-align: justify;"&gt;"Una arquitectura orientada a objetos bien estructurada est&amp;aacute; llena de patrones. La calidad de un sistema orientado a objetos se mide por la atenci&amp;oacute;n que los dise&amp;ntilde;adores han prestado a las colaboraciones entre sus objetos. Los patrones conducen a arquitecturas m&amp;aacute;s peque&amp;ntilde;as, m&amp;aacute;s simples y m&amp;aacute;s comprensibles". [Grady Booch]&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Los patrones de dise&amp;ntilde;o son descripciones de clases cuyas instancias colaboran entre s&amp;iacute;. Cada patr&amp;oacute;n es adecuado para ser adaptado a un cierto tipo de problema. Para describir un caso debemos especificar:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Nombre&lt;/li&gt;&lt;li&gt;Prop&amp;oacute;sito o finalidad&lt;/li&gt;&lt;li&gt;Sin&amp;oacute;nimos (otros nombres por los que puede ser conocido)&lt;/li&gt;&lt;li&gt;Problema al que es aplicable&lt;/li&gt;&lt;li&gt;Estructura (diagrama de clases)&lt;/li&gt;&lt;li&gt;Participantes (responsabilidad de cada clase)&lt;/li&gt;&lt;li&gt;Colaboraciones (diagrama de interacciones)&lt;/li&gt;&lt;li&gt;Implementaci&amp;oacute;n (consejos, notas y ejemplos)&lt;/li&gt;&lt;li&gt;Otros patrones con los que est&amp;aacute; relacionado&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align: justify;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;[Extra&amp;iacute;do desde: Design Patterns - Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides]&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-5324146380935691519?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/5324146380935691519/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2010/09/algunos-conceptos-sobre-patrones-e-is.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/5324146380935691519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/5324146380935691519'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2010/09/algunos-conceptos-sobre-patrones-e-is.html' title='Algunos conceptos sobre patrones e IS'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-7993904603583831801</id><published>2010-09-19T18:33:00.001-07:00</published><updated>2010-09-19T18:33:25.393-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Hacia la Web...</title><content type='html'>&lt;p&gt;&lt;img src="http://www.smallboxweb.com/images/icons/services/web_development_256.png" alt="" /&gt;&lt;/p&gt;&lt;p&gt;Continuar&amp;aacute;...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-7993904603583831801?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/7993904603583831801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2010/09/hacia-la-web.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/7993904603583831801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/7993904603583831801'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2010/09/hacia-la-web.html' title='Hacia la Web...'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-4041065208438089724</id><published>2010-09-18T22:21:00.001-07:00</published><updated>2010-09-18T22:27:58.910-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Test de Personalidad de Programador</title><content type='html'>&lt;p&gt;En el siguiente enlace: &lt;span style="text-decoration: underline;"&gt;&lt;em&gt;&lt;a href="http://www.doolwind.com/blog/programmer-personality-test/"&gt;http://www.doolwind.com/blog/programmer-personality-test/&lt;/a&gt;&lt;/em&gt;&lt;/span&gt; me encontrado con un interesante test que mide la personalidad de un programador.&lt;/p&gt;&lt;p style="text-align: left;"&gt;&lt;img src="http://scott.k12.va.us/martha2/dmbtest.gif" alt="" width="293" height="340" /&gt;&lt;/p&gt;&lt;p&gt;Entre las preguntas que se hayan en el test son:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&amp;iquest;En qu&amp;eacute; invierte la mayor parte de su tiempo?&lt;/li&gt;&lt;li&gt;&amp;iquest;Qui&amp;eacute;n es el mejor programador?&lt;/li&gt;&lt;li&gt;&amp;iquest;Cu&amp;aacute;l es la mejor manera de programar?&lt;/li&gt;&lt;li&gt;El lenguaje 'perfecto' ser&amp;aacute;:&lt;/li&gt;&lt;li&gt;&amp;iquest;Cu&amp;aacute;l es la mejor implementaci&amp;oacute;n?&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Este test, puede ser &amp;uacute;til para comprender c&amp;oacute;mo nos comportamos durante el desarrollo de una aplicaci&amp;oacute;n o sistema, cuales son nuestras habilidades m&amp;aacute;s sobresalientes, y c&amp;oacute;mo, en qu&amp;eacute; estamos fallando.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Edito&lt;/strong&gt;: &lt;span style="text-decoration: underline;"&gt;&lt;em&gt;&lt;a href="http://www.oneplusyou.com/q/v/code"&gt;aqu&amp;iacute; hay otro&lt;/a&gt;&lt;/em&gt;&lt;/span&gt;!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-4041065208438089724?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/4041065208438089724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2010/09/test-de-personalidad-de-programador.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/4041065208438089724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/4041065208438089724'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2010/09/test-de-personalidad-de-programador.html' title='Test de Personalidad de Programador'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-3866257717891067033</id><published>2010-09-18T20:00:00.001-07:00</published><updated>2010-09-18T20:11:04.333-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Código spaghetti!</title><content type='html'>&lt;p style="text-align: justify;"&gt;Hablemos un poco del famoso c&amp;oacute;digo spaghetti:&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/thumb/9/93/Spaghetti.jpg/220px-Spaghetti.jpg" alt="" width="220" height="224" /&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;El c&amp;oacute;digo spaghetti se distingue por ser un c&amp;oacute;digo tiende a utilizar instrucciones u &amp;oacute;rdenes que llevan a confundir durante su lectura (bueno por parte del programador) y que en un programa extenso hace que sea ilegible y de d&amp;iacute;ficil comprensi&amp;oacute;n.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Caracter&amp;iacute;sticas espec&amp;iacute;ficas del c&amp;oacute;digo spaghetti: mucho GOTOs, excepciones, hilos, y construcciones de decisi&amp;oacute;n sin una estructura bien definida:&lt;/p&gt;&lt;p style="text-align: justify;"&gt;miremos el primer ejemplo: &lt;em&gt;&lt;span style="color: #0000ff;"&gt;&lt;a href="http://paste.ubuntu.com/496233/"&gt;&lt;span style="text-decoration: underline;"&gt;http://paste.ubuntu.com/496233&lt;/span&gt;/&lt;/a&gt;&lt;/span&gt;&lt;/em&gt; [Wikipedia2010]&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Para un programador principiante, este un c&amp;oacute;digo de d&amp;iacute;ficil interpretaci&amp;oacute;n.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Ahora el mismo programa, pero en un lenguaje de programaci&amp;oacute;n estructurado: &lt;span style="text-decoration: underline;"&gt;&lt;em&gt;&lt;span style="color: #0000ff;"&gt;&lt;a href="http://paste.ubuntu.com/496234/"&gt;http://paste.ubuntu.com/496234/&lt;/a&gt;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt; [Wikipedia2010]&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Como podemos observar, los lenguajes de programaci&amp;oacute;n actuales han cambiado ese enfoque ant&amp;iacute;quisimo de forma radical, lo que permite que haya m&amp;aacute;s personas que puedan escribir programas sin conocimientos profesionales.&lt;/p&gt;&lt;p&gt;M&amp;aacute;s informaci&amp;oacute;n: &lt;a href="http://en.wikipedia.org/wiki/Spaghetti_code"&gt;aqu&amp;iacute;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-3866257717891067033?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/3866257717891067033/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2010/09/codigo-spaghetti.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/3866257717891067033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/3866257717891067033'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2010/09/codigo-spaghetti.html' title='Código spaghetti!'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-1197062551109217615</id><published>2010-09-18T08:24:00.000-07:00</published><updated>2010-09-18T08:27:43.746-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='herramientas'/><title type='text'>Copiar &amp; pegar en-línea</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_UnHcjnFtcdE/THphMFXFFPI/AAAAAAAABwQ/T8V9WWaeajc/s1600/pastebin.jpeg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 52px;" src="http://2.bp.blogspot.com/_UnHcjnFtcdE/THphMFXFFPI/AAAAAAAABwQ/T8V9WWaeajc/s320/pastebin.jpeg" alt="" id="BLOGGER_PHOTO_ID_5510823954266526962" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: trebuchet ms;"&gt;Pastebin  de Ubuntu es una gran utilidad alojada en la nube, que nos permite  pegar cualquier texto (plano) o código fuente de cualquier lenguaje de  programación (la lista es bastante extensa), por ejemplo: ActionScript,  C++, C#, CSS, Erlang, HTML, Java, JavaScript, MySQL, Perl, SQL, XML,  entre otros más.&lt;br /&gt;&lt;br /&gt;Aquí dejo un ejemplo:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://picasaweb.google.com/lh/photo/sNAI0lB-7yZ7zS_mhR6P7HvIItJRNF8S27ZCjllOJ74?feat=directlink"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 212px;" src="http://1.bp.blogspot.com/_UnHcjnFtcdE/THpj951ZxHI/AAAAAAAABwY/QIsGDZMgEI4/s320/pastebin-factorial.jpeg" alt="" id="BLOGGER_PHOTO_ID_5510827009189201010" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com/lh/photo/xF5iOzojKMWQtT70skkocnvIItJRNF8S27ZCjllOJ74?feat=directlink"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 260px;" src="http://1.bp.blogspot.com/_UnHcjnFtcdE/THpj-Cqwc5I/AAAAAAAABwg/KZhpu2ldWZ4/s320/pastebin-factorial2.jpeg" alt="" id="BLOGGER_PHOTO_ID_5510827011560469394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Desde  este enlace puede consultar el código y descarglo. Esto quiere decir  que por cada texto que peguemos en Ubuntu Pastebin, nos proporcionar un  enlace para poder compartirlo con otros e inclusive descargarlo: &lt;a href="http://paste.ubuntu.com/485447/"&gt;http://paste.ubuntu.com/485447/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-1197062551109217615?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/1197062551109217615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2010/09/copiar-pegar-en-linea.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/1197062551109217615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/1197062551109217615'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2010/09/copiar-pegar-en-linea.html' title='Copiar &amp; pegar en-línea'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UnHcjnFtcdE/THphMFXFFPI/AAAAAAAABwQ/T8V9WWaeajc/s72-c/pastebin.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-6780081952330505966</id><published>2010-09-18T07:25:00.001-07:00</published><updated>2010-09-18T07:25:32.004-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Aplicaciones Web vs Aplicaciones de Escritorio</title><content type='html'>&lt;p style="text-align: center;"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/4/47/Wilos-web-desktop.png" alt="" width="543" height="399" /&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Podemos f&amp;aacute;cilmente distinguir entre una aplicaci&amp;oacute;n Web y una aplicaci&amp;oacute;n de Escritorio: esta &amp;uacute;ltima se caracteriza por llevar a cabo casi la totalidad de operaciones de negocios, la seguridad impera en este modo, debido a que el equipo donde se encuentra instalada puede contar con diferentes mecanismos de defense frente a virus, troyanos, software esp&amp;iacute;a, &amp;amp;c; el rendimiento y velocidad de procesamiento son tambi&amp;eacute;n un punto a favor, dado que de forma local aprovecha (si es que el desarrollador de la aplicaci&amp;oacute;n lo ha considerado) los recursos de m&amp;aacute;quina de forma eficiente y eficaz...&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Ahora, con respecto a las aplicaciones Web, &amp;eacute;stas tienen muchos puntos a favor, como por ejemplo la administraci&amp;oacute;n centralizada, el despliegue se puede realizar en un 1/4 del tiempo que toma una aplicaci&amp;oacute;n de Escritorio en instalarle en equipos cliente. Por otro lado, sigue el paradigma de multiplataforma, ya que a trav&amp;eacute;s de un &amp;uacute;nico navegador es capaz de acceder a la aplicaci&amp;oacute;n como tal y llevar operaciones como si se tratar&amp;aacute; de una apliaci&amp;oacute;n m&amp;aacute;s instalada en el equipo local. Sus usuarios pueden acceder (siempre que se haya concedido este permiso) desde cualquier otra m&amp;aacute;quina que no se la propia suya.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Para quienes est&amp;eacute;n interesados en leer m&amp;aacute;s acerca de este asunto, a continuaci&amp;oacute;n dejo un enlace donde hay informaci&amp;oacute;n m&amp;aacute;s concreta:&lt;/p&gt;&lt;p style="text-align: justify;"&gt;aqu&amp;iacute;: &lt;a href="http://www.v7n.com/forums/marketing-forum/25602-web-applications-vs-desktop-applications.html"&gt;Web Applications vs Desktop Applications&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-6780081952330505966?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/6780081952330505966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2010/09/aplicaciones-web-vs-aplicaciones-de.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/6780081952330505966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/6780081952330505966'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2010/09/aplicaciones-web-vs-aplicaciones-de.html' title='Aplicaciones Web vs Aplicaciones de Escritorio'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-8807750272758386798</id><published>2010-07-07T07:33:00.000-07:00</published><updated>2010-07-07T07:33:51.789-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>WTFs/m.</title><content type='html'>&lt;a href="http://www.osnews.com/images/comics/wtfm.jpg"&gt;&lt;br /&gt;&lt;/a&gt;&lt;center&gt;&lt;img src="http://www.osnews.com/images/comics/wtfm.jpg" title="WTFs/m." alt="WTFs/m." border="1" height="471" width="500" /&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-8807750272758386798?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/8807750272758386798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2010/07/wtfsm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/8807750272758386798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/8807750272758386798'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2010/07/wtfsm.html' title='WTFs/m.'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-7490854278131385708</id><published>2010-06-24T11:37:00.000-07:00</published><updated>2010-06-24T11:38:01.730-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Articles'/><title type='text'>Leadership and Software Teams: Some Thoughts</title><content type='html'>&lt;a href="http://feeds.dzone.com/%7Er/javalobby/frontpage/%7E3/rpAXJQmpiss/leadership-and-software-teams" id="4504675128146773989_entry_title" class="title read" target="_blank" cdf_container="10"&gt;Leadership and Software Teams: Some Thoughts&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-7490854278131385708?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/7490854278131385708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2010/06/leadership-and-software-teams-some.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/7490854278131385708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/7490854278131385708'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2010/06/leadership-and-software-teams-some.html' title='Leadership and Software Teams: Some Thoughts'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-250129096097162475</id><published>2010-06-18T05:31:00.000-07:00</published><updated>2010-09-19T18:30:12.127-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sugerencias'/><title type='text'>¿Qué es la deuda tecnológica? « Código Comestible</title><content type='html'>&lt;a style="font-style: italic;" href="http://codigocomestible.com/2010/06/10/que-es-la-deuda-tecnologica/"&gt;¿Qué es la deuda tecnológica? « Código Comestible&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;" class="entry clear"&gt;         &lt;div class="snap_preview"&gt;&lt;p&gt;¿Os habéis encontrado alguna vez  con código mal escrito que es difícil de mantener y más difícil de  reutilizar? Apuesto a que sí.&lt;/p&gt; &lt;p&gt;Ese código muchas veces no es chapucero porque el programador no sepa  hacerlo mejor, sino porque se ha hecho con prisas y sin preocuparse en  que ese código pueda extenderse con facilidad en el futuro. Se ahorra  tiempo, por ejemplo, en técnicas como los test unitarios que mejoran  considerablemente la calidad del código.&lt;/p&gt; &lt;p&gt;Cuando uno se ve forzado a trabajar con una base de código muy mal  escrita, los proyectos acaban tardando mucho más de lo necesario. Lo que  podíamos haber hecho en dos días acaba tardando diez. O cuarenta. Todo  es mucho más complicado porque tenemos que enfrentarnos a las problemas  que nos presenta el código legado.&lt;/p&gt; &lt;p&gt;Para explicar las consecuencias del código hecho con prisas &lt;a href="http://c2.com/%7Eward/"&gt;Ward Cunningham&lt;/a&gt; acuñó el término &lt;strong&gt;deuda  tecnológica&lt;/strong&gt;. Hacer código de mala calidad a toda prisa, es  como pedir un crédito: puede que obtengamos un beneficio a corto plazo  pero si tenemos que seguir desarrollando ese código, tarde o temprano  tendremos que pagar todo el tiempo que nos habíamos ahorrado &lt;strong&gt;y  los intereses&lt;/strong&gt;. Refactorizar código mal escrito es siempre más  difícil que escribirlo bien desde el principio.&lt;/p&gt; &lt;p&gt;A veces la deuda tecnológica tiene sentido. Puede que tengamos que  terminar un producto antes que un competidor, o puede que si no  terminamos pronto perdamos una gran oportunidad de negocio. En ese caso,  la deuda tecnológica tiene el mismo sentido que la deuda financiera:  incurrimos en algo de deuda para obtener unos beneficios tan grandes que  compensan de sobra el pago de los intereses.&lt;/p&gt; &lt;p&gt;Sin embargo, la deuda tecnológica, como la financiera, también tiene  un aspecto muy peligroso: recurrir a la deuda es una manera muy sencilla  de tapar los problemas que tiene nuestro negocio. Entra dinero y crea  la ilusión de que el negocio sigue funcionando, aunque en realidad sólo  hemos aplazado los problemas al tiempo que los empeoramos.&lt;/p&gt; &lt;p&gt;Con la deuda tecnológica pasa lo mismo. Hacer constantemente chapuzas  puede dar la sensación de que los proyectos avanzan. Sin embargo, al  poco tiempo acabamos con una maraña de código inmantenible; lo que  debería ser muy sencillo se convierte en complicado y los desarrollos  avanzan cada vez más despacio. &lt;/p&gt; &lt;p&gt;Es porque todo nuestro esfuerzo se invierte en pagar los intereses de  la deuda tecnológica.&lt;/p&gt; &lt;/div&gt;           &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-250129096097162475?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/250129096097162475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2010/06/que-es-la-deuda-tecnologica-codigo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/250129096097162475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/250129096097162475'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2010/06/que-es-la-deuda-tecnologica-codigo.html' title='¿Qué es la deuda tecnológica? « Código Comestible'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-3426912642221540805</id><published>2010-05-20T13:05:00.000-07:00</published><updated>2010-05-20T13:05:49.518-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Noticias'/><title type='text'>Larry Ellison critica fuertemente a Jonathan Schwartz</title><content type='html'>&lt;a href="http://feedproxy.google.com/%7Er/fayerwayer/%7E3/QxiExL69_QM/"&gt;Larry Ellison critica fuertemente a Jonathan Schwartz&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-3426912642221540805?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/3426912642221540805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2010/05/larry-ellison-critica-fuertemente.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/3426912642221540805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/3426912642221540805'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2010/05/larry-ellison-critica-fuertemente.html' title='Larry Ellison critica fuertemente a Jonathan Schwartz'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-8393322610178327835</id><published>2010-05-20T12:56:00.000-07:00</published><updated>2010-05-20T12:56:19.227-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Código fuente'/><title type='text'>Aplicacion Con Acceso a Bases de Datos Java MySql y Patrones de Diseño Parte 4</title><content type='html'>&lt;a href="http://www.javamexico.org/blogs/jasuncionez/aplicacion_con_acceso_bases_de_datos_java_mysql_y_patrones_de_diseno_parte_4"&gt;Aplicacion Con Acceso a Bases de Datos Java MySql y Patrones de Diseño Parte 4&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-8393322610178327835?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/8393322610178327835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2010/05/aplicacion-con-acceso-bases-de-datos.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/8393322610178327835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/8393322610178327835'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2010/05/aplicacion-con-acceso-bases-de-datos.html' title='Aplicacion Con Acceso a Bases de Datos Java MySql y Patrones de Diseño Parte 4'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-5150428437235323414</id><published>2010-05-20T09:35:00.000-07:00</published><updated>2010-05-20T09:35:14.554-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Noticias'/><title type='text'>Anti Pattern</title><content type='html'>&lt;a href="http://c2.com/cgi/wiki?AntiPattern"&gt;Anti Pattern&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-5150428437235323414?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/5150428437235323414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2010/05/anti-pattern.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/5150428437235323414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/5150428437235323414'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2010/05/anti-pattern.html' title='Anti Pattern'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-1317480251757192995</id><published>2010-03-08T08:44:00.000-08:00</published><updated>2010-03-08T08:53:10.046-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Código fuente'/><category scheme='http://www.blogger.com/atom/ns#' term='Capítulo03'/><category scheme='http://www.blogger.com/atom/ns#' term='Matemática'/><title type='text'>Ch03-01: Ejercicio del ejemplo de GUI y gráficos</title><content type='html'>&lt;div style="text-align: justify;"&gt;3.1 (Extra) Modifique el programa de suma en la figura 2.7 para usar la entrada y salida basadas en cuadro de diálogo con los métodos de la clase &lt;span style="font-family:courier new;"&gt;JOptionPane&lt;/span&gt;&lt;span style="font-style: italic;font-family:courier new;" &gt;.&lt;/span&gt; Como el método &lt;span style="font-style: italic; font-weight: bold;font-family:courier new;" &gt;showInputDialog&lt;/span&gt; devuelve un objeto &lt;span style="font-family:courier new;"&gt;String&lt;/span&gt;, debe coonvertir el objeto String que introduce el suario a un &lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;int&lt;/span&gt; para usarlo en los cálculos. El método&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;Integer.parseInt( String s )&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;toma un argumento &lt;span style="font-family: courier new;"&gt;String&lt;/span&gt; que representa a un entero (por ejemplo, el resultado de &lt;span style="font-family: courier new;"&gt;JOptionPane.showInputDialog&lt;/span&gt;) y devuelve el valor como un &lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;int&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;El método parseInt es un método static de la clase &lt;span style="font-family: courier new;"&gt;Integer&lt;/span&gt; (del page &lt;span style="font-family: courier new;"&gt;java.lang&lt;/span&gt;). Observe que si el objeto &lt;span style="font-family: courier new;"&gt;String&lt;/span&gt; no contiene un entero válido, el programa terminará con un error.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Solución&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;import javax.swing.JOptionPane;&lt;br /&gt;&lt;br /&gt;public class Ch03_DialogoSuma&lt;br /&gt;{&lt;br /&gt;   public static void main( String args[] )&lt;br /&gt;   {&lt;br /&gt;&lt;br /&gt;      // Solicitud y obtención del primer número entero como un objeto String&lt;br /&gt;      String numero1 = JOptionPane.showInputDialog( "Escriba el primer número entero: " );&lt;br /&gt;&lt;br /&gt;      // Conversión de tipo String a tipo Int del primer número entero&lt;br /&gt;      int num1 = Integer.parseInt( numero1 );&lt;br /&gt;&lt;br /&gt;      // Solicitud y obtención del segundo número entero con un objeto String&lt;br /&gt;      String numero2 = JOptionPane.showInputDialog( "Escriba el segundo número entero: " );&lt;br /&gt;&lt;br /&gt;      // Conversión de tipo String a tipo Int del segundo número entero&lt;br /&gt;      int num2 = Integer.parseInt( numero2 );&lt;br /&gt;&lt;br /&gt;      // Crear el mensaje con formato&lt;br /&gt;      String mensaje = String.format( "La suma: %d + %d = %d" , num1, num2 , ( num1 + num2 ) );&lt;br /&gt;&lt;br /&gt;      // Visualizar resultados en una diálogo de mensaje&lt;br /&gt;      JOptionPane.showMessageDialog( null, mensaje );&lt;br /&gt;   } // fin de main&lt;br /&gt;} ///:~&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Conclusiones&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;El manejo de fechas en un programa de Java es importante, pues permite el control de ciertos elementos sobre el programa.&lt;br /&gt;&lt;br /&gt;Se pueden crear métodos ayudantes para mostrar mensajes al usuario de la aplicación y evitar la fatiga.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-1317480251757192995?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/1317480251757192995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2010/03/ch03-01-ejercicio-del-ejemplo-de-gui-y.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/1317480251757192995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/1317480251757192995'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2010/03/ch03-01-ejercicio-del-ejemplo-de-gui-y.html' title='Ch03-01: Ejercicio del ejemplo de GUI y gráficos'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-2581226309038942851</id><published>2010-03-08T08:26:00.000-08:00</published><updated>2010-03-08T08:36:54.869-08:00</updated><title type='text'>Ch03-15: Clase Fecha</title><content type='html'>&lt;div style="text-align: justify;"&gt;3.15 Cree un clase llamada &lt;span style="font-family:courier new;"&gt;Fecha&lt;/span&gt;, que incluya tres piezas de información como variables de incnacia -un mes (tipo &lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;int&lt;/span&gt;), un día (tipo &lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;int&lt;/span&gt;) y un año (tipo &lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;int&lt;/span&gt;). Su clase debe tener un constructor que inicialice las tres variables de instancia, y debe asumir que los valores que se proporcionan son correctos.&lt;br /&gt;&lt;br /&gt;Proporcione un método &lt;span style="font-style: italic; font-weight: bold;font-family:courier new;" &gt;establecer&lt;/span&gt; y un método &lt;span style="font-style: italic; font-weight: bold;font-family:courier new;" &gt;obtener&lt;/span&gt; para cada variable de instancia. Proporcione un método &lt;span style="font-style: italic;"&gt;mostrarFecha&lt;/span&gt;, que muestre el mes, día y año, separados por barras diagionales (/). Escriba una aplicación de prueba llamada &lt;span style="font-family:courier new;"&gt;PruebaFecha,&lt;/span&gt; que demuestre las capacidades de cada &lt;span style="font-family:courier new;"&gt;Fecha&lt;/span&gt;.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Solución&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;public class Ch03_Fecha&lt;br /&gt;{&lt;br /&gt;   // Variables de instancia (o piezas de información)&lt;br /&gt;   private int dia; // Día del año (formato numérico)&lt;br /&gt;   private int mes; // Mes del año (formato numérico)&lt;br /&gt;   private int annio; // Mes del año&lt;br /&gt;&lt;br /&gt;   // Constructor para inicializar las variables de instancia&lt;br /&gt;   public Ch03_Fecha( int pMes , int pDia , int pAnnio )&lt;br /&gt;   {&lt;br /&gt;      // Validación para el mes&lt;br /&gt;      if( pMes &gt; 0 )&lt;br /&gt;      {&lt;br /&gt;         if( pMes &lt;= 12 )&lt;br /&gt;         {&lt;br /&gt;            mes = pMes;&lt;br /&gt;         }&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      // Validación para el día&lt;br /&gt;      if( pDia &gt; 0 )&lt;br /&gt;      {&lt;br /&gt;         if( pDia &lt;= 31 )&lt;br /&gt;         {&lt;br /&gt;            dia = pDia;&lt;br /&gt;         }&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      // Validacion para el annio&lt;br /&gt;      if( pAnnio &gt;= 1929 )&lt;br /&gt;      {&lt;br /&gt;         if( pAnnio &lt;= 2029 )&lt;br /&gt;         {&lt;br /&gt;            annio = pAnnio;&lt;br /&gt;         }&lt;br /&gt;      }&lt;br /&gt;   } // Fin del constructor&lt;br /&gt;&lt;br /&gt;   // Método para establecer el mes&lt;br /&gt;   public void establecerMes( int pMes )&lt;br /&gt;   {&lt;br /&gt;      if( pMes &gt; 0 )&lt;br /&gt;      {&lt;br /&gt;         if( pMes &lt;=31 )&lt;br /&gt;         {&lt;br /&gt;            mes = pMes;&lt;br /&gt;         }&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método para obtener el mes&lt;br /&gt;   public int obtenerMes()&lt;br /&gt;   {&lt;br /&gt;      return mes;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método para establecer el día&lt;br /&gt;   public void establecerDia( int pDia )&lt;br /&gt;   {&lt;br /&gt;      if( pDia &gt; 0)&lt;br /&gt;      {&lt;br /&gt;         if( pDia &lt;= 31 )&lt;br /&gt;         {&lt;br /&gt;            dia = pDia;&lt;br /&gt;         }&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método para obtener el día&lt;br /&gt;   public int obtenerDia()&lt;br /&gt;   {&lt;br /&gt;      return dia;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método para establecer el año&lt;br /&gt;   public void establecerAnnio( int pAnnio )&lt;br /&gt;   {&lt;br /&gt;      if( pAnnio &gt;= 1929 )&lt;br /&gt;      {&lt;br /&gt;         if ( pAnnio &lt;= 2029 )&lt;br /&gt;         {&lt;br /&gt;            annio = pAnnio;&lt;br /&gt;         }&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método para obtener el año&lt;br /&gt;   public int obtenerAnnio()&lt;br /&gt;   {&lt;br /&gt;      return annio;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método para mostrar la fecha en formato mm / dd / aaaa&lt;br /&gt;   public void mostrarFecha()&lt;br /&gt;   {&lt;br /&gt;      System.out.print( "\nFecha seleccionada: " );&lt;br /&gt;      System.out.printf( "\n %d / %d / %d " , obtenerMes() , obtenerDia() , obtenerAnnio() );&lt;br /&gt;   } // fin del método mostrarFecha&lt;br /&gt;} ///:~&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Clase que prueba las capacidades de la clase &lt;span style="font-family:courier new;"&gt;Fecha&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;// Importar la clase 'Scanner'&lt;br /&gt;import java.util.Scanner;&lt;br /&gt;&lt;br /&gt;public class Ch03_PruebaFecha&lt;br /&gt;{&lt;br /&gt;   // El método main inicia y finaliza la ejecución de la aplicación&lt;br /&gt;   public static void main( String args[] )&lt;br /&gt;   {&lt;br /&gt;      // Variables receptoras de los valores introducidos por el usuario del programa&lt;br /&gt;      int dia; // Día en formato numérico&lt;br /&gt;      int mes; // Mes en formato numérico&lt;br /&gt;      int annio;&lt;br /&gt;&lt;br /&gt;      // Instanciamiento de un objeto de clase Ch03_Fecha con valores iniciales&lt;br /&gt;      Ch03_Fecha fecha = new Ch03_Fecha( 5 , 21 , 2009 );&lt;br /&gt;&lt;br /&gt;      // Ver fecha&lt;br /&gt;      fecha.mostrarFecha();&lt;br /&gt;&lt;br /&gt;      // Solicitud y obtención de datos por parte del usuario&lt;br /&gt;      // Crea un objeto Scanner para obtener datos desde la entrada estándar&lt;br /&gt;      Scanner entrada = new Scanner( System.in );&lt;br /&gt;&lt;br /&gt;      // Mes&lt;br /&gt;      System.out.print( "\nEscriba el número del mes: " );&lt;br /&gt;      mes = entrada.nextInt();&lt;br /&gt;      fecha.establecerMes( mes );&lt;br /&gt;&lt;br /&gt;      // Día&lt;br /&gt;      System.out.print( "\nEscriba el número del día: " );&lt;br /&gt;      dia = entrada.nextInt();&lt;br /&gt;      fecha.establecerDia( dia );&lt;br /&gt;&lt;br /&gt;      // Año&lt;br /&gt;      System.out.print( "\nEscriba el año: " );&lt;br /&gt;      annio = entrada.nextInt();&lt;br /&gt;      fecha.establecerAnnio( annio );&lt;br /&gt;&lt;br /&gt;      // Mostrar fecha&lt;br /&gt;      fecha.mostrarFecha();&lt;br /&gt;&lt;br /&gt;      System.out.println();&lt;br /&gt;      System.out.println();&lt;br /&gt;   } // fin de main&lt;br /&gt;} ///:~&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Conclusiones&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;El manejo de fechas en un programa de Java es importante, pues permite el control de ciertos elementos sobre el programa.&lt;br /&gt;&lt;br /&gt;Se pueden crear métodos ayudantes para mostrar mensajes al usuario de la aplicación y evitar la fatiga.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-2581226309038942851?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/2581226309038942851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2010/03/ch03-15-clase-fecha.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/2581226309038942851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/2581226309038942851'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2010/03/ch03-15-clase-fecha.html' title='Ch03-15: Clase Fecha'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-644236782965112193</id><published>2010-03-07T06:01:00.000-08:00</published><updated>2010-03-07T06:33:43.037-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Código fuente'/><category scheme='http://www.blogger.com/atom/ns#' term='Capítulo03'/><title type='text'>Ch03-14 - Clase Empleado</title><content type='html'>&lt;div style="text-align: justify;"&gt;3.14 Cree un clase llamada &lt;span style="font-family:courier new;"&gt;Empleado&lt;/span&gt;, que incluya tres piezas de información como variables de instancia: un primer nombre (tipo &lt;span style="font-family:courier new;"&gt;String&lt;/span&gt;), un apellido paterno (tipo &lt;span style="font-family:courier new;"&gt;String&lt;/span&gt;) y un salario mensual (&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;double&lt;/span&gt;). Su clase debe tener un constructor que inicialice las tres variables de instancia.&lt;br /&gt;&lt;br /&gt;Proporcione un método &lt;span style="font-style: italic;"&gt;establecer&lt;/span&gt; y un método &lt;span style="font-style: italic;"&gt;obtener&lt;/span&gt; para cada variable de instancia. Si el salario mensual no es positivo, establézcalo a &lt;span style="font-family:times new roman;"&gt;0.0&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Escriba una apl.icación de prueba llamada &lt;span style="font-family:courier new;"&gt;PruebaEmpleado,&lt;/span&gt; que demuestre las capacidades de cada &lt;span style="font-family:courier new;"&gt;Empleado&lt;/span&gt;. Cree dos objetos &lt;span style="font-family:courier new;"&gt;Empleado&lt;/span&gt; y muestre el salario &lt;span style="font-style: italic;"&gt;anual&lt;/span&gt; de cada objeto. Después, proporcione a cada &lt;span style="font-family:courier new;"&gt;Empleado&lt;/span&gt; un aumento del 10% y muestre el slario anual de cada &lt;span style="font-family:courier new;"&gt;Empleado&lt;/span&gt; otra vez.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Solución&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;public class Ch03_Empleado&lt;br /&gt;{&lt;br /&gt;   //Variables de instancia&lt;br /&gt;   private String nombre; // Nombre del empleado&lt;br /&gt;   private String apellido; // Apellido del empleado&lt;br /&gt;   private double salarioMensual; //Salario mensual del empleado&lt;br /&gt;&lt;br /&gt;   // Constructor para inicializar las vars. de instancia&lt;br /&gt;   public Ch03_Empleado( String pNombre , String pApellido , double pSalarioMensual )&lt;br /&gt;   {&lt;br /&gt;      // Asignación de los valores de los parámetros a las variables de instancia&lt;br /&gt;      nombre = pNombre;&lt;br /&gt;      apellido = pApellido;&lt;br /&gt;      if( pSalarioMensual &gt; 0.0 )&lt;br /&gt;      {&lt;br /&gt;         salarioMensual = pSalarioMensual;&lt;br /&gt;      }&lt;br /&gt;   } // Fin del constructor&lt;br /&gt;&lt;br /&gt;   // Método establecer para el nombre del empleado&lt;br /&gt;   public void establecerNombre( String pNombre )&lt;br /&gt;   {&lt;br /&gt;      nombre = pNombre;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método para obtener el nombre del empleado&lt;br /&gt;   public String obtenerNombre()&lt;br /&gt;   {&lt;br /&gt;      return nombre;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método para establecer el epellido del empleado&lt;br /&gt;   public void establecerApellido( String pApellido )&lt;br /&gt;   {&lt;br /&gt;      apellido = pApellido;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método para obtener el apellido del empleado&lt;br /&gt;   public String obtenerApellido()&lt;br /&gt;   {&lt;br /&gt;      return apellido;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método para establecer el sueldo del empleado&lt;br /&gt;   public void establecerSalarioMensual( double salario )&lt;br /&gt;   {&lt;br /&gt;      if( salario &lt; 0.0 )&lt;br /&gt;      {&lt;br /&gt;         System.out.print( "\nEl salario escrito no es válido." );&lt;br /&gt;         return;&lt;br /&gt;      }&lt;br /&gt;      salarioMensual = salario;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método para obtener el salario mensual de un empleado&lt;br /&gt;   public double obtenerSalarioMensual()&lt;br /&gt;   {&lt;br /&gt;      return salarioMensual;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método para calcular el salario anual de un empleado&lt;br /&gt;   public double obtenerSalarioAnual()&lt;br /&gt;   {&lt;br /&gt;      return obtenerSalarioMensual() * 12;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método para incrementar el 10% sobre el sueldo anual del empleado&lt;br /&gt;   public double obtenerAumento()&lt;br /&gt;   {&lt;br /&gt;      return obtenerSalarioAnual() * 1.10;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método que muestra resumen de la información relativa al empleado&lt;br /&gt;   public void mostrarResumen()&lt;br /&gt;   {&lt;br /&gt;      System.out.printf( "\nSu nombre es: %s" , obtenerNombre() );&lt;br /&gt;      System.out.printf( "\nSu apellido es: %s" , obtenerApellido() );&lt;br /&gt;      System.out.printf( "\nSu salario mensual es: %f" , obtenerSalarioMensual() );&lt;br /&gt;      System.out.printf( "\nSu salario anual sin incremento es: %f" , obtenerSalarioAnual() );&lt;br /&gt;      System.out.printf( "\nSu salario anual con incremento es: %f" , obtenerAumento() );&lt;br /&gt;   } // fin del método mostrarResumen&lt;br /&gt;} ///:~&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Clase que prueba las capacidades de la clase &lt;span style="font-family:courier new;"&gt;Factura&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;// Importar la clase 'Scanner'&lt;br /&gt;import java.util.Scanner;&lt;br /&gt;&lt;br /&gt;public class Ch03_PruebaEmpleado&lt;br /&gt;{&lt;br /&gt;// El método main inicia y finaliza la ejecución de la aplicación&lt;br /&gt;public static void main( String args[] )&lt;br /&gt;{&lt;br /&gt;   // Variables receptoras de valores introducidos por el usuario del programa&lt;br /&gt;   String nombre; // Nombre del empleado&lt;br /&gt;   String apellido; // Apellido del empleado&lt;br /&gt;   double salario; // Salario mensual del empleado&lt;br /&gt;&lt;br /&gt;   // Instacimiento de dos objetos con valores iniciales&lt;br /&gt;   Ch03_Empleado empleado1 = new Ch03_Empleado( "Zhen" , "Gholz" , 800 );&lt;br /&gt;   Ch03_Empleado empleado2 = new Ch03_Empleado( "Larz" , "Binz" , -900 );&lt;br /&gt;&lt;br /&gt;   // Solicitud y obtención de los del empleado1&lt;br /&gt;   // Crear un objeto Scanner que admita la entrada de valores de la ventana de comandos&lt;br /&gt;   Scanner entrada = new Scanner( System.in );&lt;br /&gt;&lt;br /&gt;   System.out.print( "\nSolicitud y recepción de los datos del empleado1" );&lt;br /&gt;&lt;br /&gt;   // Nombre&lt;br /&gt;   System.out.print( "\nEscriba su nombre: " );&lt;br /&gt;   nombre = entrada.nextLine();&lt;br /&gt;   empleado1.establecerNombre( nombre );&lt;br /&gt;&lt;br /&gt;   // Apellido&lt;br /&gt;   System.out.print( "\nEscriba su apellido: " );&lt;br /&gt;   apellido = entrada.nextLine();&lt;br /&gt;   empleado1.establecerApellido( apellido );&lt;br /&gt;&lt;br /&gt;   // Salario&lt;br /&gt;   System.out.print( "\nEscriba su salario mensual: " );&lt;br /&gt;   salario = entrada.nextDouble();&lt;br /&gt;   empleado1.establecerSalarioMensual( salario );&lt;br /&gt;&lt;br /&gt;   // Muestra el resumen del empleado1&lt;br /&gt;   System.out.print( "\nResumen para empleado1: " );&lt;br /&gt;   empleado1.mostrarResumen();&lt;br /&gt;&lt;br /&gt;   System.out.println( "\n\nSolicitud y recepción de los datos del empleado2" );&lt;br /&gt;&lt;br /&gt;   // Nombre&lt;br /&gt;   System.out.print( "\nEscriba su nombre: " );&lt;br /&gt;   nombre = entrada.nextLine();&lt;br /&gt;   empleado2.establecerNombre( nombre );&lt;br /&gt;&lt;br /&gt;   // Apellido&lt;br /&gt;   System.out.print( "\nEscriba su apellido: " );&lt;br /&gt;   apellido = entrada.nextLine();&lt;br /&gt;   empleado2.establecerApellido( apellido );&lt;br /&gt;&lt;br /&gt;   // Salario&lt;br /&gt;   System.out.print( "\nEscriba su salario mensual: " );&lt;br /&gt;   salario = entrada.nextDouble();&lt;br /&gt;   empleado2.establecerSalarioMensual( salario );&lt;br /&gt;&lt;br /&gt;   // Muestra el resumen del empleado1&lt;br /&gt;   System.out.print( "\nResumen para empleado2: " );&lt;br /&gt;   empleado2.mostrarResumen();&lt;br /&gt;&lt;br /&gt;   System.out.println();&lt;br /&gt;} // Fin del método main&lt;br /&gt;} ///:~&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Conclusiones&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Cada Empleado conserva los valores correspondientes a sus variables de instancia (atributos). El cambio de estado de un objeto, en esta problema, no afecta la &lt;span style="font-style: italic;"&gt;estabilidad&lt;/span&gt; del otro, por lo tanto se está haciendo uso correcto del paradigma orientado a objetos.&lt;br /&gt;&lt;br /&gt;A medida que van surgiendo cambios, es decir, cada vez que se realiza una acción sobre los objetos estos se van &lt;span style="font-style: italic;"&gt;moldeando&lt;/span&gt; a los mensajes recibidos por otros objetos de esta misma clase u otra.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-644236782965112193?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/644236782965112193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2010/03/ch03-14-clase-empleado.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/644236782965112193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/644236782965112193'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2010/03/ch03-14-clase-empleado.html' title='Ch03-14 - Clase Empleado'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-6974761805218294685</id><published>2010-02-13T04:24:00.000-08:00</published><updated>2010-02-13T04:27:31.098-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Programación a Bajo Nivel</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://ytuquelees.net/wp-content/uploads/2010/02/teclado.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 450px; height: 330px;" src="http://ytuquelees.net/wp-content/uploads/2010/02/teclado.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-6974761805218294685?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/6974761805218294685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2010/02/programacion-bajo-nivel.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/6974761805218294685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/6974761805218294685'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2010/02/programacion-bajo-nivel.html' title='Programación a Bajo Nivel'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-6394997362766546712</id><published>2009-11-30T08:32:00.000-08:00</published><updated>2009-11-30T08:48:22.349-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Código fuente'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Capítulo03'/><title type='text'>Ch03-13: La Clase Factura</title><content type='html'>&lt;div style="text-align: justify;"&gt;3.13 Cree una clase llamada &lt;span style="font-family:courier new;"&gt;Factura&lt;/span&gt;, que una ferretería podría utilizar para representar una factura para un artículo vendido en la tienda.&lt;br /&gt;&lt;br /&gt;Una &lt;span style="font-family:courier new;"&gt;Factura&lt;/span&gt; debe incluir cuatro piezas de información como variables de instancia: un número de pieza (tipo &lt;span style="font-family:courier new;"&gt;String&lt;/span&gt;), la descripción de pieza (tipo &lt;span style="font-family:courier new;"&gt;String&lt;/span&gt;), la cantidad de artículos de ese tipo que se van a comprar (tipo &lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;int&lt;/span&gt;) y el precio por artículo (&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;double&lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;Su clase debe tener un constructor que inicialice las cuatro variables de instancia. Proporcione un método establecer y un método obtener para cada variable de instancia.&lt;br /&gt;&lt;br /&gt;Además, proporcione un método llamada &lt;span style="font-weight: bold;font-family:courier new;" &gt;obtenerMontoFactura&lt;/span&gt;, que calcule el monto de la facture (es decir, que multiplique la cantidad por el precio por artículo).  y después devuelva ese monto como un valor &lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;double&lt;/span&gt;. Si la cantidad no es positiva, debe establecer en 0. (cero) .&lt;br /&gt;&lt;br /&gt;Si el precio por artículo no es positivo, debe establecer a 0.0.&lt;br /&gt;&lt;br /&gt;Escriba una aplicación de prueba llamada PruebaFacture, que demuestra las capacidades de la clase &lt;span style="font-family:courier new;"&gt;Factura&lt;/span&gt;.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Solución&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;public class Ch03_Factura&lt;br /&gt;{&lt;br /&gt;   // Variables de instancia&lt;br /&gt;   private String numDePieza; // Número de la pieza&lt;br /&gt;   private String descPieza; // Descripción de la pieza&lt;br /&gt;   private int qtyArticulo; // Cantidad del artículo&lt;br /&gt;   private double vlrArticulo; // Valor del artículo&lt;br /&gt;&lt;br /&gt;   // Constructur personalizado&lt;br /&gt;   public Ch03_Factura( String pNumDePieza , String pDescPieza , int pQtyArticulo , double pVlrArticulo )&lt;br /&gt;   {&lt;br /&gt;      // Asignación de los valores de los parámetros a las vars. de inst.&lt;br /&gt;      numDePieza = pNumDePieza;&lt;br /&gt;      descPieza = pDescPieza;&lt;br /&gt;      if( pQtyArticulo &gt; 0 )&lt;br /&gt;      {&lt;br /&gt;         qtyArticulo = pQtyArticulo;&lt;br /&gt;      }&lt;br /&gt;      if( pVlrArticulo &gt; 0.0 )&lt;br /&gt;      {&lt;br /&gt;         vlrArticulo = pVlrArticulo;&lt;br /&gt;      }&lt;br /&gt;   } // Fin del constructor de la clase&lt;br /&gt;&lt;br /&gt;   // Método establecer para número de la pieza&lt;br /&gt;   public void establecerNumDePieza( String pNumDePieza )&lt;br /&gt;   {&lt;br /&gt;      numDePieza = pNumDePieza;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método obtener para número de la pieza&lt;br /&gt;   public String obtenerNumDePieza()&lt;br /&gt;   {&lt;br /&gt;      return numDePieza;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método para establecer la descripción de la pieza&lt;br /&gt;   public void establecerDescPieza( String pDescPieza )&lt;br /&gt;   {&lt;br /&gt;      descPieza = pDescPieza;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método para obtener la descripción de la pieza&lt;br /&gt;   public String obtenerDescPieza()&lt;br /&gt;   {&lt;br /&gt;      return descPieza;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método para establecer la cantidad de artículo&lt;br /&gt;   public void establecerQtyArticulo( int pQtyArticulo )&lt;br /&gt;   {&lt;br /&gt;      qtyArticulo = pQtyArticulo;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método para obtener la cantidad de artículo&lt;br /&gt;   public int obtenerQtyArticulo()&lt;br /&gt;   {&lt;br /&gt;      return qtyArticulo;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método para establecer valor del artículo&lt;br /&gt;   public void establecerVlrArticulo( double pVlrArticulo )&lt;br /&gt;   {&lt;br /&gt;      vlrArticulo = pVlrArticulo;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método para obtener el valor del artículo&lt;br /&gt;   public double obtenerVlrArticulo()&lt;br /&gt;   {&lt;br /&gt;      return vlrArticulo;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método Obtener Monto Factura&lt;br /&gt;   public void obtenerMontoFactura()&lt;br /&gt;   {&lt;br /&gt;      // Comprobación de que no hayan cantidad negativas&lt;br /&gt;      if( obtenerQtyArticulo() &lt; 0 )&lt;br /&gt;      {&lt;br /&gt;         qtyArticulo = 0;&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      if( obtenerVlrArticulo() &lt; 0.0 )&lt;br /&gt;      {&lt;br /&gt;         vlrArticulo = 0.0;&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      System.out.printf( "\n ********** FERRETERÍA **********" );&lt;br /&gt;      System.out.printf( "\n ***** Factura *****\n\n" );&lt;br /&gt;      System.out.printf( "Número de pieza: %s" , obtenerNumDePieza() );&lt;br /&gt;      System.out.printf( "\nDescripción de la pieza: %s" , obtenerDescPieza() );&lt;br /&gt;      System.out.printf( "\nCantidad del artículo: %d" , obtenerQtyArticulo() );&lt;br /&gt;      System.out.printf( "\nValor unitario del artículo: %f" , obtenerVlrArticulo() );&lt;br /&gt;&lt;br /&gt;      //Totalizar el monto de la compra&lt;br /&gt;      System.out.printf( "\n\nEl total a pagar es: %f" , ( obtenerQtyArticulo() * obtenerVlrArticulo() ) );&lt;br /&gt;   } // fin de main&lt;br /&gt;} ///:~&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Clase que prueba las capacidades de la clase &lt;span style="font-family: courier new;"&gt;Factura&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;// Importar la clase 'Scanner'&lt;br /&gt;import java.util.Scanner;&lt;br /&gt;&lt;br /&gt;public class Ch03_PruebaFactura&lt;br /&gt;{&lt;br /&gt;  // El método main inicia y finaliza la ejecución de la aplicación&lt;br /&gt;  public static void main( String args[] )&lt;br /&gt;  {&lt;br /&gt;     // Variables&lt;br /&gt;     String cadena; // Número y descripción de la pieza&lt;br /&gt;     int cantidad; // Cantidad del artículo&lt;br /&gt;     double valor; // Valor del artículo&lt;br /&gt;&lt;br /&gt;     // Constructor personalizado. Creación de un objeto inicializando sus&lt;br /&gt;     // variables de instancia&lt;br /&gt;     Ch03_Factura factura = new Ch03_Factura( "0" , "Ninguna" , 0 , 0.0 );&lt;br /&gt;&lt;br /&gt;     // Mostrar el estado actual de los atributos del objeto 'factura'&lt;br /&gt;     System.out.printf( "\nNúmero de pieza: %s" , factura.obtenerNumDePieza() );&lt;br /&gt;     System.out.printf( "\nDescripción de la pieza: %s" , factura.obtenerDescPieza() );&lt;br /&gt;     System.out.printf( "\nCantidad del artículo: %d" , factura.obtenerQtyArticulo() );&lt;br /&gt;     System.out.printf( "\nValor unitario del artículo: %f" , factura.obtenerVlrArticulo() );&lt;br /&gt;&lt;br /&gt;     // Solicitud y obtención de los datos&lt;br /&gt;     // Creación de un objeto de tipo 'Scanner'&lt;br /&gt;     Scanner entrada = new Scanner( System.in );&lt;br /&gt;&lt;br /&gt;     // Número de pieza&lt;br /&gt;     System.out.print( "\nEscriba el número de pieza: " );&lt;br /&gt;     cadena = entrada.nextLine();&lt;br /&gt;     factura.establecerNumDePieza( cadena );&lt;br /&gt;&lt;br /&gt;     //Descripción de la pieza&lt;br /&gt;     System.out.print( "\nEscriba la descripción de la pieza: " );&lt;br /&gt;     cadena = entrada.nextLine();&lt;br /&gt;     factura.establecerDescPieza( cadena );&lt;br /&gt;&lt;br /&gt;     // Cantidad del artículo&lt;br /&gt;     System.out.print( "\nEscriba la cantidad del artículo: " );&lt;br /&gt;     cantidad = entrada.nextInt();&lt;br /&gt;     factura.establecerQtyArticulo( cantidad );&lt;br /&gt;&lt;br /&gt;     // Valor del artículo&lt;br /&gt;     System.out.print( "\nEscriba el valor del artículo: " );&lt;br /&gt;     valor = entrada.nextDouble();&lt;br /&gt;     factura.establecerVlrArticulo( valor );&lt;br /&gt;&lt;br /&gt;     // Mostrar el monto de la factura&lt;br /&gt;     factura.obtenerMontoFactura();&lt;br /&gt;&lt;br /&gt;     System.out.println();&lt;br /&gt;     System.out.println();&lt;br /&gt;    &lt;br /&gt;  } // fin de main&lt;br /&gt;} ///:~&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Conclusiones&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Nuevamente podemos observar que los método &lt;span style="font-style: italic;"&gt;establecer&lt;/span&gt; y &lt;span style="font-style: italic;"&gt;obtener&lt;/span&gt;, incrementan la estababilidad del programa.&lt;br /&gt;&lt;br /&gt;Por lo general, se suelen usar variables de instancia, por ejemplo &lt;span style="font-family: courier new; color: rgb(0, 153, 0);"&gt;qtyArtciculo&lt;/span&gt;, que llevan antepuesto un prefijo en inglés, en este caso 'qty' para hacer referenciar a 'quantity' que es lo mismo que 'cantidad' en español.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-6394997362766546712?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/6394997362766546712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/ch03-13-la-clase-factura.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/6394997362766546712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/6394997362766546712'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/ch03-13-la-clase-factura.html' title='Ch03-13: La Clase Factura'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-3987824986315438507</id><published>2009-11-30T08:18:00.000-08:00</published><updated>2009-11-30T08:29:40.737-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Código fuente'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Capítulo03'/><title type='text'>Ch03-11: Clase Cuenta</title><content type='html'>&lt;div style="text-align: justify;"&gt;3.12 Modifique la clase &lt;span style="font-family:courier new;"&gt;Cuenta&lt;/span&gt; para proporcionar un método llamada &lt;span style="font-weight: bold;font-family:courier new;" &gt;cargar&lt;/span&gt;, que retir dinero de un objeto &lt;span style="font-family:courier new;"&gt;Cuenta&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Asegure que el monto a cargar no exceda el saldo de &lt;span style="font-family:courier new;"&gt;Cuenta&lt;/span&gt;.  Si lo hace, el saldo debe permanecer sin cambio y el método debe imprimer un mensaje que indique "&lt;span style="font-family:courier new;"&gt;El monto a cargar excede el saldo de la cuenta&lt;/span&gt;".&lt;br /&gt;&lt;br /&gt;Modifique la clase &lt;span style="font-family:courier new;"&gt;PruebaCuenta&lt;/span&gt; para probar el método &lt;span style="font-weight: bold;font-family:courier new;" &gt;cargar&lt;/span&gt;.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Solución&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;public class Ch03_Cuenta2&lt;br /&gt;{&lt;br /&gt;   // Variable de instancia&lt;br /&gt;   private double saldo;&lt;br /&gt;&lt;br /&gt;   // Constructor explícito de la clase&lt;br /&gt;   public Ch03_Cuenta2( double monto )&lt;br /&gt;   {&lt;br /&gt;      if( monto &gt; 0.0 ) // Comprueba que la cantidad pasada sea mayor que cero&lt;br /&gt;      {&lt;br /&gt;         saldo = monto;&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método para establecer (depositar) un monto&lt;br /&gt;   public void establecerAbono( double monto )&lt;br /&gt;   {&lt;br /&gt;      saldo = saldo + monto;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método para obtener el saldo&lt;br /&gt;   public void obtenerSaldo()&lt;br /&gt;   {&lt;br /&gt;      System.out.printf( "\nEl saldo actual de su cuenta es: %f" , saldo );&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Método para realizar (establecer) un retiro (cargar)&lt;br /&gt;   public void cargar( double monto )&lt;br /&gt;   {&lt;br /&gt;      if( saldo - monto &lt; 0.0 )&lt;br /&gt;      {&lt;br /&gt;         System.out.print( "\nEl monto a cargar excede el saldo de la cuenta." );&lt;br /&gt;         return;&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      saldo = saldo - monto;&lt;br /&gt;   } // Fin del método cargar&lt;br /&gt;&lt;br /&gt;} // Fin de la clase Ch03_Cuenta2&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;La clase de prueba:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;// Importar la clase 'Scanner'&lt;br /&gt;import java.util.Scanner;&lt;br /&gt;&lt;br /&gt;public class Ch03_PruebaCuenta2&lt;br /&gt;{&lt;br /&gt;  // El método main inicia y finaliza la ejecución de la aplicación&lt;br /&gt;  public static void main( String args[] )&lt;br /&gt;  {&lt;br /&gt;     double monto;&lt;br /&gt;&lt;br /&gt;     // Instanciamiento e inicialización de un objeto de clase Ch03_Cuenta2&lt;br /&gt;     Ch03_Cuenta2 cuenta = new Ch03_Cuenta2( 50 );&lt;br /&gt;&lt;br /&gt;     // Consultar el saldo del objeto almacenado en la variable cuenta&lt;br /&gt;     cuenta.obtenerSaldo();&lt;br /&gt;&lt;br /&gt;     // Realizar un depósito&lt;br /&gt;     // Creación de un objeto 'Scanner'&lt;br /&gt;     Scanner entrada = new Scanner( System.in );&lt;br /&gt;&lt;br /&gt;     // Solicitud y obtención del monto a depositar&lt;br /&gt;     System.out.print( "\nEscriba el monto a depositar: " );&lt;br /&gt;     monto = entrada.nextDouble();&lt;br /&gt;     cuenta.establecerAbono( monto );&lt;br /&gt;&lt;br /&gt;     // Consultar el saldo actual del objeto cuenta&lt;br /&gt;     cuenta.obtenerSaldo();&lt;br /&gt;&lt;br /&gt;     // Realizar un retiro (carga)&lt;br /&gt;     // Solicitud y obtención del monto a cargar del usuario de la ventana de comandos&lt;br /&gt;     System.out.print( "\nDigite el monto a retirar: " );&lt;br /&gt;     monto = entrada.nextDouble();&lt;br /&gt;     cuenta.cargar( monto );&lt;br /&gt;&lt;br /&gt;     // Mostrar el saldo actual&lt;br /&gt;     cuenta.obtenerSaldo();&lt;br /&gt;&lt;br /&gt;     System.out.println();&lt;br /&gt;&lt;br /&gt;  } // Fin del método 'main'&lt;br /&gt;&lt;br /&gt;} // Fin de la clase 'Ch03_PruebaCuenta2'&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Conclusiones&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;Los métodos establecer ayudan a que los datos que ingresa el usuario a través de uno de los  medios de flujo de entrada se validen antes de almacenarse en una o más variables de instancia. Esto ayuda a que los datos mantengan consistencia durante el tiempo de ejecución .&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;El programador siempre debe considerar estas excepciones que pueden ocurrir durante la ejecución del programa. Más adelante se presentarán problemas resueltos acerca de las Excepciones.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-3987824986315438507?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/3987824986315438507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/ch03-11-clase-cuenta.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/3987824986315438507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/3987824986315438507'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/ch03-11-clase-cuenta.html' title='Ch03-11: Clase Cuenta'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-6712136330394819799</id><published>2009-11-30T08:04:00.000-08:00</published><updated>2009-11-30T08:17:08.968-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Código fuente'/><category scheme='http://www.blogger.com/atom/ns#' term='Capítulo03'/><title type='text'>Ch03-11: Libro Calificaciones</title><content type='html'>&lt;div style="text-align: justify;"&gt;3.11 Modifique la clase &lt;span style="font-family:courier new;"&gt;LibroCalificaciones&lt;/span&gt; de la siguiente manera:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Incluya una segunda variable de instancia &lt;span style="font-family:courier new;"&gt;String&lt;/span&gt;, que represente el nombre del instructor del curso.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Proporcione un método &lt;span style="font-style: italic;"&gt;establecer&lt;/span&gt; para modificar el nombre del instructor, y un método &lt;span style="font-style: italic;"&gt;obtener&lt;/span&gt; para obtener el nombre.&lt;/li&gt;&lt;li&gt;Modifique el constructor para especificar dos parámetros: uno para el nombre del curso y otro para el nombre del instructor.&lt;/li&gt;&lt;li&gt;Modifique el método &lt;span style="font-family:courier new;"&gt;mostrarMensaje&lt;/span&gt;, de tal forma que primero imprima el mensaje de bienvenida y el nombre del curso, y que después imprima "&lt;span style="font-style: italic;font-family:courier new;" &gt;Este curso es presentado por: &lt;/span&gt;", seguido del nombre del instructor.&lt;/li&gt;&lt;/ul&gt;Use su clase modificada en una aplicación de prueba que demuestra las nueva cpacidades de la clase.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Solución&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;&lt;br /&gt;// Declaración de clase&lt;br /&gt;public class Ch03_LibroCalificaciones5&lt;br /&gt;{&lt;br /&gt;  // Variables de instancia&lt;br /&gt;  private String nombreDelCurso;&lt;br /&gt;  private String nombreDelInstructor;&lt;br /&gt; &lt;br /&gt;  // Constructor inicialización de variables de instancia&lt;br /&gt;  public Ch03_LibroCalificaciones5( String curso, String nombre )&lt;br /&gt;  {&lt;br /&gt;     // Asigna a la var. de inst. nombreDelCurso el valor del parámetro curso&lt;br /&gt;     nombreDelCurso = curso;&lt;br /&gt;     // Asigna a la var. de inst. nombreDelInstructor el valor del parámetro nombre&lt;br /&gt;     nombreDelInstructor = nombre;&lt;br /&gt;  } // Fin del constructor&lt;br /&gt;&lt;br /&gt;  // Método establecer nombre del curso&lt;br /&gt;  public void establecerNombreDelCurso( String curso )&lt;br /&gt;  {&lt;br /&gt;     nombreDelCurso = curso;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  // Método obtener el nombre del curso&lt;br /&gt;  public String obtenerNombreDelCurso()&lt;br /&gt;  {&lt;br /&gt;     return nombreDelCurso;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  // Método establecer nombre del instructor&lt;br /&gt;  public void establecerNombreDelInstructor( String nombre )&lt;br /&gt;  {&lt;br /&gt;     nombreDelInstructor = nombre;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  // Método obtener nombre del instructor&lt;br /&gt;  public String obtenerNombreDelInstructor()&lt;br /&gt;  {&lt;br /&gt;     return nombreDelInstructor;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  // Método mostrar mensaje&lt;br /&gt;  public void mostrarMensaje()&lt;br /&gt;  {&lt;br /&gt;     System.out.printf( "\nBienvenido al Libro de Calificaciones para: %s" , obtenerNombreDelCurso() );&lt;br /&gt;     System.out.printf( "\nEste curso es presentado por: %s\n" , obtenerNombreDelInstructor() );&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;} // fin de la clase LibroCalificaciones&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;La clase de prueba:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;&lt;br /&gt;import java.util.Scanner;&lt;br /&gt;&lt;br /&gt;public class Ch03_PruebaLibroCalificaciones5&lt;br /&gt;{&lt;br /&gt;  // El método main inicia y finaliza la ejecucación de la aplicación&lt;br /&gt;  public static void main( String args[] )&lt;br /&gt;  {&lt;br /&gt;     String nombre;&lt;br /&gt;     String curso;&lt;br /&gt;    &lt;br /&gt;     // Instanciamiento de un objeto Ch03_LibroCalificaciones5&lt;br /&gt;     Ch03_LibroCalificaciones5 miLibroCalificaciones = new Ch03_LibroCalificaciones5( "CS101 - Introducción a la programación en Java" , "Bakunin" );&lt;br /&gt;    &lt;br /&gt;     // Visualizar el estado de los atributos del obtjeto&lt;br /&gt;     miLibroCalificaciones.mostrarMensaje();&lt;br /&gt;    &lt;br /&gt;     // Crear un objeto de clase 'Scanner'&lt;br /&gt;     Scanner entrada = new Scanner( System.in );&lt;br /&gt;    &lt;br /&gt;     // Solicitud y obtención de los datos del usuario&lt;br /&gt;     System.out.print( "\nDigite el nombre del curo: " ); // Indicador&lt;br /&gt;     curso = entrada.nextLine(); // Lee una línea de texto y devuelve un objeto String&lt;br /&gt;     miLibroCalificaciones.establecerNombreDelCurso( curso );&lt;br /&gt;&lt;br /&gt;     System.out.print( "Digite el nombre del instructor: " );&lt;br /&gt;     nombre = entrada.nextLine(); // Lee una línea de texto&lt;br /&gt;     miLibroCalificaciones.establecerNombreDelInstructor( nombre );&lt;br /&gt;&lt;br /&gt;     // Visualización del estado de los atributos del objeto&lt;br /&gt;     miLibroCalificaciones.mostrarMensaje();&lt;br /&gt;&lt;br /&gt;  } // fin del método 'main'&lt;br /&gt;&lt;br /&gt;} // Fin de la clase Ch03_PruebaLibroCalificaciones5&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Conclusiones&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Los método &lt;span style="font-style: italic;"&gt;establecer&lt;/span&gt; (también conocidos como métodos mutadores) y los métodos &lt;span style="font-style: italic;"&gt;obtener &lt;/span&gt;(o métodos de consulta) permiten establecer o modificar el valor de una o más variables de instancias de una clase. Por otro lado, los métodos obtener obtienen información acerca del contenido de una variable de instancia.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-6712136330394819799?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/6712136330394819799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/ch03-11-libro-calificaciones.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/6712136330394819799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/6712136330394819799'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/ch03-11-libro-calificaciones.html' title='Ch03-11: Libro Calificaciones'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-6056754181572080641</id><published>2009-11-19T04:52:00.000-08:00</published><updated>2009-11-19T05:33:19.102-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Comentario</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://images.acswebnetworks.com/1/797/Icon_CommentPencil.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 208px; height: 169px;" src="http://images.acswebnetworks.com/1/797/Icon_CommentPencil.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;Quiero hacer la siguiente entrada con el idea de invitar a aquellas personas que visitan este blog, a que comenten acerca de los códigos que se publican. Básicamente, como ya lo había dicho antes, el propósito es crear un ambiente de participación (proponer mejores soluciones a las hechas por mí mismo, tratar de simplificar (optimizar) el código fuente expuesto de los problemas resueltos, etc.).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Además, quiero aprovechar esta entrada para aclarar que el contenido publicado está bajo los criterios de &lt;a href="http://es.wikipedia.org/wiki/Creative_Commons#Creative_Commons_International"&gt;Creative Commons&lt;/a&gt;. Y sigue los siguientes tipos de licencia:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Reconocimiento - No Comercial&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UnHcjnFtcdE/SwVIE03gmGI/AAAAAAAABd0/-Gv4X_J97M0/s1600/creativeCommons_Attributtion-NonCommercial.jpeg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 207px; height: 81px;" src="http://3.bp.blogspot.com/_UnHcjnFtcdE/SwVIE03gmGI/AAAAAAAABd0/-Gv4X_J97M0/s400/creativeCommons_Attributtion-NonCommercial.jpeg" alt="" id="BLOGGER_PHOTO_ID_5405806175476291682" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Para terminar con esta entrada, para el próximo mes (diciembre), me encargaré de publicar con mayor frecuencia contenido para este blog: desde material bibliográfico (atribuyendo autorías) hasta noticias acerca de la evolución de la plataforma Java.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;span style="font-style: italic;"&gt;Be Free. Be GNU/Linux.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-6056754181572080641?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/6056754181572080641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/comentario.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/6056754181572080641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/6056754181572080641'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/comentario.html' title='Comentario'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_UnHcjnFtcdE/SwVIE03gmGI/AAAAAAAABd0/-Gv4X_J97M0/s72-c/creativeCommons_Attributtion-NonCommercial.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-9109271033977685899</id><published>2009-11-19T04:42:00.000-08:00</published><updated>2009-11-30T08:04:17.620-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Código fuente'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Capítulo02'/><title type='text'>Ch02-31: Cuadrados y Cubos</title><content type='html'>&lt;div style="text-align: justify;"&gt;2.26 Utilizando sólo las técnicas de programación que aprendió en este capítulo, escriba una aplicación que calcule los cuadrados y cubos de los números del 0 al 10, y que imprima los valores resultantes en formato de tabla, como se muestra a continuación. [&lt;span style="font-style: italic;"&gt;Nota&lt;/span&gt;: Este programa no requiere de ningún tipo de entrada por parte del usuario].&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UnHcjnFtcdE/SwU-MZ_n9uI/AAAAAAAABds/_8DR1FbpDwY/s1600/ch02_cuadradoCubo.jpeg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 287px; height: 209px;" src="http://4.bp.blogspot.com/_UnHcjnFtcdE/SwU-MZ_n9uI/AAAAAAAABds/_8DR1FbpDwY/s400/ch02_cuadradoCubo.jpeg" alt="" id="BLOGGER_PHOTO_ID_5405795310585247458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Solución&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;import java.util.Scanner;&lt;br /&gt;&lt;br /&gt;// Declaración de clase&lt;br /&gt;public class Ch02_TableroDamas&lt;br /&gt;{&lt;br /&gt;// Clase definida por el programador&lt;br /&gt;public class Ch02_CuadradoCubo&lt;br /&gt;{&lt;br /&gt; // Método de clase&lt;br /&gt; public static void main( String[] args )&lt;br /&gt; {&lt;br /&gt;    System.out.printf( "\n Número\tCuadrado\tCubo" );&lt;br /&gt;    System.out.printf( "\n %d\t     %d\t       %d", 0 , ( 0 * 0 ) , ( 0 * 0 * 0 ) );&lt;br /&gt;    System.out.printf( "\n %d\t     %d\t       %d", 1 , ( 1 * 1 ) , ( 1 * 1 * 1 ) );&lt;br /&gt;    System.out.printf( "\n %d\t     %d\t       %d", 2 , ( 2 * 2 ) , ( 2 * 2 * 2 ) );&lt;br /&gt;    System.out.printf( "\n %d\t     %d\t       %d", 3 , ( 3 * 3 ) , ( 3 * 3 * 3 ) );&lt;br /&gt;    System.out.printf( "\n %d\t     %d\t      %d", 4 , ( 4 * 4 ) , ( 4 * 4 * 4 ) );&lt;br /&gt;    System.out.printf( "\n %d\t     %d\t      %d", 5 , ( 5 * 5 ) , ( 5 * 5 * 5 ) );&lt;br /&gt;    System.out.printf( "\n %d\t     %d\t      %d", 6 , ( 6 * 6 ) , ( 6 * 6 * 6 ) );&lt;br /&gt;    System.out.printf( "\n %d\t     %d\t      %d", 7 , ( 7 * 7 ) , ( 7 * 7 * 7 ) );&lt;br /&gt;    System.out.printf( "\n %d\t     %d\t      %d", 8 , ( 8 * 8 ) , ( 8 * 8 * 8 ) );&lt;br /&gt;    System.out.printf( "\n %d\t     %d\t      %d", 9 , ( 9 * 9 ) , ( 9 * 9 * 9 ) );&lt;br /&gt;    System.out.printf( "\n %d\t    %d\t     %d\n", 10 , ( 10 * 10 ) , ( 10 * 10 * 10 ) );&lt;br /&gt;&lt;br /&gt;    // Salida&lt;br /&gt;    System.exit(0);&lt;br /&gt; } // Fin del método de clase&lt;br /&gt;} // Fin de la clase definida por el programador&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Conclusiones&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;El uso de los especificadores de formato proporcionan un medio idóneo para mostrar  información tabulada.&lt;br /&gt;&lt;br /&gt;Los paréntesis redundantes, es decir, signos de agrupación que ayudan a identificar de forma  fácil y directa el resultado que se pretende obtener a través de la expresión.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-9109271033977685899?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/9109271033977685899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/ch02-31-cuadrados-y-cubos.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/9109271033977685899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/9109271033977685899'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/ch02-31-cuadrados-y-cubos.html' title='Ch02-31: Cuadrados y Cubos'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UnHcjnFtcdE/SwU-MZ_n9uI/AAAAAAAABds/_8DR1FbpDwY/s72-c/ch02_cuadradoCubo.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-6863247905443790217</id><published>2009-11-12T04:31:00.001-08:00</published><updated>2009-11-12T04:55:14.153-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Capítulo02'/><title type='text'>Ch02-30: Separar dígitos</title><content type='html'>&lt;div style="text-align: justify;"&gt;2.29 Escriba una aplicación que reciba del usuario un número compuesto por cinco dígitos, que separe ese número en sus dígitos individuales y los imprima, cada uno separado de los demás por tres espacios&lt;br /&gt;&lt;br /&gt;Por ejemplo, si el usuario escribe el número 42339, el programa debe imprimir:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;4   2   3   3   9&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Suponga que el usuario escribe el número correcto de dígitos. ¿Qué ocurre cuando ejecuta el programa y escribe un número con más de cingo dígitos? ¿Qué ocurre cuando ejecuta el programa y escribe un número con menos de cinco dígitos? [&lt;span style="font-style: italic;"&gt;Sugerencia&lt;/span&gt;: es posible hacer este ejercicio con las técnicas que aprendió en este capítulo. Necesita utilizar los operadores de división y residuo para "seleccionar" cada dígito].&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Solución&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;import java.util.Scanner;&lt;br /&gt;&lt;br /&gt;// Clase definida por el programador&lt;br /&gt;public class Ch02_SepararDigitos&lt;br /&gt;{&lt;br /&gt;   // Método de clase&lt;br /&gt;   public static void main( String[] args )&lt;br /&gt;   {&lt;br /&gt;      int num; // Almacena el número digitado por el usuario&lt;br /&gt;      int temp; // Almacena cocientes y residuos&lt;br /&gt;      int dM; // Decenas de mil&lt;br /&gt;      int uM; // Unidades de mil&lt;br /&gt;      int cen; // Centenas&lt;br /&gt;      int dec; // Decenas&lt;br /&gt;      int uni; // Unidades&lt;br /&gt;&lt;br /&gt;      // Instanciar un objeto de tipo 'Scanner'&lt;br /&gt;      Scanner entrada = new Scanner( System.in );&lt;br /&gt;&lt;br /&gt;      // Solicitud y obtención del número&lt;br /&gt;      System.out.print( "Digite un número entero de 5 dígitos: " );&lt;br /&gt;      num = entrada.nextInt();&lt;br /&gt;&lt;br /&gt;      if( num &gt;= 10000 )&lt;br /&gt;      {&lt;br /&gt;         if( num &lt;= 99999)&lt;br /&gt;         {&lt;br /&gt;            dM = num / 10000;&lt;br /&gt;            temp = num % 10000;&lt;br /&gt;            uM = temp / 1000;&lt;br /&gt;            temp = temp % 1000;&lt;br /&gt;            cen = temp / 100;&lt;br /&gt;            temp = temp % 100;&lt;br /&gt;            dec = temp / 10;&lt;br /&gt;            temp = temp % 10;&lt;br /&gt;            uni = temp;&lt;br /&gt;&lt;br /&gt;            // Visualización de resultados&lt;br /&gt;            System.out.printf( "\n%d   %d   %d   %d   %d\n", dM, uM, cen, dec, uni);&lt;br /&gt;         } // fin de if&lt;br /&gt;      } // fin de if&lt;br /&gt;      // Salida&lt;br /&gt;      System.exit(0);&lt;br /&gt;   } // fin de main&lt;br /&gt;} ///:~&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Conclusiones&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;El uso de los operadores aritméticos cociente( / ) y residuo ( % ) permiten desarrollar de  manera directa y simple el problema propuesto. La clave de la solución se encuentre en la instrucción &lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;if&lt;/span&gt; anidado.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-6863247905443790217?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/6863247905443790217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/ch02-30-separar-digitos.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/6863247905443790217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/6863247905443790217'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/ch02-30-separar-digitos.html' title='Ch02-30: Separar dígitos'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-546995166424901022</id><published>2009-11-12T04:10:00.000-08:00</published><updated>2009-11-12T04:53:35.465-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Código fuente'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Capítulo02'/><title type='text'>Ch02-29: Moldeado (casting) de tipos</title><content type='html'>&lt;div style="text-align: justify;"&gt;2.28 He aquí otro adelanto. En este capítulo (2), aprendió acerca de los enteros y el tipo &lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;int&lt;/span&gt;. Java puede también representar letras en mayúsculas y una considerable variedad de símbolos especiales. Cada carácter tiene su correspondiente representación entera. El conjunto de caracteres que utiliza una computadora, y las correspondientes representaciones enteras de estos caracteres, se conocen como el conjunto de caracteres de esa computadora.&lt;br /&gt;&lt;br /&gt;Usted puede indicar un valor de carácter en un programa con sólo encerrar ese carácter entre comillas sencillas (o simples), como en 'A'.&lt;br /&gt;&lt;br /&gt;Usted puede determinar el equivalente entero de un carácter si antepone a ese carácter la palabra (&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;int&lt;/span&gt;), como en&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;( int ) 'A'&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Esta forma se conoce como operador de conversión de tipo. [...]. La siguiente instrucción imprime un carácter y su equivalente entero:&lt;br /&gt;&lt;blockquote&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;System.out.printf( "El carácter %c tiene el valor %d\n" , 'A' , ( ( int ) ) 'A' ) );&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;Cuando se ejecuta esta instrucción, muestra el carácter A y el valor 65 (del conjunto de caracteres conocido como Unicode) como parte de la cadena. Observe que el especificador de formato &lt;span style="font-family:courier new;"&gt;%c&lt;/span&gt; es un receptáculo para un carácter (en este caso, el carácter 'A').&lt;br /&gt;&lt;br /&gt;Utilizando instrucciones similares a la mostrada anteriormente en este ejercicio, escriba una aplicación que muestre los equivalentes enteros de algunas letras en mayúsculas, en minúsculas, dígitos y símbolos especiales.&lt;br /&gt;&lt;br /&gt;Muestre los equivalentes enteros de los siguientes caracteres: A B C a b c 0 1 2  $ * + / y el carácter en blanco.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Solución&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;import java.util.Scanner;&lt;br /&gt;&lt;br /&gt;// Clase definida por el programador&lt;br /&gt;public class Ch02_ConversionTipos&lt;br /&gt;{&lt;br /&gt;// Método de clase&lt;br /&gt;public static void main( String[] args )&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;   System.out.printf( "El carácter %c tiene el valor %d.\n", 'A' , ( (int) 'A' ) );&lt;br /&gt;   System.out.printf( "El carácter %c tiene el valor %d.\n", 'B' , ( (int) 'B' ) );&lt;br /&gt;   System.out.printf( "El carácter %c tiene el valor %d.\n", 'C' , ( (int) 'C' ) );&lt;br /&gt;   System.out.printf( "El carácter %c tiene el valor %d.\n", 'a' , ( (int) 'a' ) );&lt;br /&gt;   System.out.printf( "El carácter %c tiene el valor %d.\n", 'b' , ( (int) 'b' ) );&lt;br /&gt;   System.out.printf( "El carácter %c tiene el valor %d.\n", 'c' , ( (int) 'c' ) );&lt;br /&gt;   System.out.printf( "El carácter %c tiene el valor %d.\n", '0' , ( (int) '0' ) );&lt;br /&gt;   System.out.printf( "El carácter %c tiene el valor %d.\n", '1' , ( (int) '1' ) );&lt;br /&gt;   System.out.printf( "El carácter %c tiene el valor %d.\n", '2' , ( (int) '2' ) );&lt;br /&gt;   System.out.printf( "El carácter %c tiene el valor %d.\n", '$' , ( (int) '$' ) );&lt;br /&gt;   System.out.printf( "El carácter %c tiene el valor %d.\n", '+' , ( (int) '+' ) );&lt;br /&gt;   System.out.printf( "El carácter %c tiene el valor %d.\n", '/' , ( (int) '/' ) );&lt;br /&gt;   System.out.printf( "El carácter %c tiene el valor %d.\n", ' ' , ( (int) ' ' ) );&lt;br /&gt;&lt;br /&gt;   // Salida&lt;br /&gt;   System.exit(0);  &lt;br /&gt;} // fin de main&lt;br /&gt;} ///:~&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Conclusiones&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Este tipo de problema juega un papel importante en el desarrollo de problemas posterios, pues para determinadas representaciones, en muchas ocasiones es idóneo represntar los datos  en un formato mas adecuado para la solución que se persigue.&lt;br /&gt;&lt;br /&gt;El especificador de formato &lt;span style="font-family:courier new;"&gt;%c&lt;/span&gt; funciona un receptáculo de caracteres encerrados entre comillas simples.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-546995166424901022?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/546995166424901022/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/ch02-28-moldeado-casting-de-tipos.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/546995166424901022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/546995166424901022'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/ch02-28-moldeado-casting-de-tipos.html' title='Ch02-29: Moldeado (casting) de tipos'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-5912848792387828628</id><published>2009-11-10T05:03:00.000-08:00</published><updated>2009-11-10T05:21:27.114-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Código fuente'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Capítulo02'/><title type='text'>Ch02-28: Circulo</title><content type='html'>&lt;div style="text-align: justify;"&gt;2.27 He aquí un adelanto. En este capítulo (2), aprendió sobre los enteros y el tipo &lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;int&lt;/span&gt;. Java también puede representar números de punto flotante que contienen puntos decimales, como 3.14159. Escriba una aplicación que reciba del usuario el radio de un círculo como un entero, y que imprima el diámetro, la circunferencia y el área del círculo mediante el uso  del valor de punto flotante 3.14159 para π.&lt;br /&gt;&lt;br /&gt;Use las técnicas aprendidas en este capítulo. [&lt;span style="font-style: italic;"&gt;Nota&lt;/span&gt;: también puede utilizar la constante predefinida &lt;span style="font-family:courier new;"&gt;Math.PI&lt;/span&gt; para el valor de π. Esta constante es más precsia que el valor 3.14159. La clase &lt;span style="font-family:courier new;"&gt;Math&lt;/span&gt; se define en el paquete &lt;span style="font-style: italic;font-family:courier new;" &gt;java.lang&lt;/span&gt;. Las clases en este paquete se importan de manera automática, por lo que no se necesita importar la clase &lt;span style="font-family:courier new;"&gt;Math&lt;/span&gt; mediante la instrucción &lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;import&lt;/span&gt; para usarla].&lt;br /&gt;&lt;br /&gt;Use las siguientes fórmulas (&lt;span style="font-style: italic;"&gt;r&lt;/span&gt; es el radio):&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;diámetro = 2r&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;circunferencia = 2πr&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;área = πr^2&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;No almacene los resultados de cálculo en una variable. En vez de ello, especifique cada cálculo como el valor que se imprimirá en una instrucción &lt;span style="font-family:courier new;"&gt;System.out.print&lt;/span&gt;. Obserque que los valores producidos por los cálculos del área y la circunferencia son números de punto flotante. Dichos valores pueden imprimirse con el especificaodr de formato &lt;span style="font-family:courier new;"&gt;%f&lt;/span&gt; en una instraucción &lt;span style="font-family:courier new;"&gt;System.out.printf&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Solución&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;import java.util.Scanner;&lt;br /&gt;&lt;br /&gt;// Declaración de clase definida por el programador&lt;br /&gt;public class Ch02_Circulo&lt;br /&gt;{&lt;br /&gt;  // Método de clase o método estático&lt;br /&gt;  public static void main( String[] args )&lt;br /&gt;  {&lt;br /&gt;     int radio; // Almacena el radio del círculo&lt;br /&gt;&lt;br /&gt;     // Instanciar un objeto de tipo 'Scanner'&lt;br /&gt;     Scanner entrada = new Scanner( System.in );&lt;br /&gt;&lt;br /&gt;     // Solicitud y obtención del radio del círculo&lt;br /&gt;     System.out.print( "Digite el radio del círculo: ");&lt;br /&gt;     radio = entrada.nextInt();&lt;br /&gt;&lt;br /&gt;     // Visualización de resultados&lt;br /&gt;     //Diámetro&lt;br /&gt;     System.out.printf("\nEl diametro del círculo es: %d.", ( 2 * radio ) );&lt;br /&gt;&lt;br /&gt;     // Circunferencia&lt;br /&gt;     System.out.printf( "\nLa circunferencia del círculo es: %f.", ( 2 * Math.PI * radio ) );&lt;br /&gt;&lt;br /&gt;     // Área&lt;br /&gt;     System.out.printf( "\nEl área del círculo es: %f.\n", ( Math.PI * radio * radio ) );&lt;br /&gt;&lt;br /&gt;     // Salida normal&lt;br /&gt;     System.exit(0);&lt;br /&gt;&lt;br /&gt;  } // fin del método main&lt;br /&gt;} ///:~&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Conclusiones&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;El uso del método &lt;span style="font-weight: bold;font-family:courier new;" &gt;println&lt;/span&gt; del objeto &lt;span style="color: rgb(51, 204, 0);font-family:courier new;" &gt;out&lt;/span&gt; de la clase &lt;span style="font-family:courier new;"&gt;System&lt;/span&gt; juego el papel principal en la solución de este problema.&lt;br /&gt;&lt;br /&gt;El especificador de formato &lt;span style="font-family: courier new;"&gt;%f&lt;/span&gt; facilita la presentacion de numeros de punto flotante a traves del metodo &lt;span style="font-weight: bold; font-family: courier new;"&gt;printf&lt;/span&gt;.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-5912848792387828628?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/5912848792387828628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/ch02-28-circulo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/5912848792387828628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/5912848792387828628'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/ch02-28-circulo.html' title='Ch02-28: Circulo'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-1893656400461072642</id><published>2009-11-10T04:57:00.001-08:00</published><updated>2009-11-10T05:02:47.197-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Código fuente'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Capítulo02'/><category scheme='http://www.blogger.com/atom/ns#' term='Gráficos'/><title type='text'>Ch02-27 Tablero damas</title><content type='html'>&lt;div style="text-align: justify;"&gt;2.26 Escriba una aplicación que muestre un patrón de tablero de damas, como se muestra a continuación.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UnHcjnFtcdE/SvljazJNrDI/AAAAAAAABdk/vd27NgLWHWM/s1600-h/ch02_tableroDamas.jpeg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 137px; height: 135px;" src="http://4.bp.blogspot.com/_UnHcjnFtcdE/SvljazJNrDI/AAAAAAAABdk/vd27NgLWHWM/s400/ch02_tableroDamas.jpeg" alt="" id="BLOGGER_PHOTO_ID_5402458540064222258" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Solución&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;import java.util.Scanner;&lt;br /&gt;&lt;br /&gt;// Declaración de clase&lt;br /&gt;public class Ch02_TableroDamas&lt;br /&gt;{&lt;br /&gt;  // El método 'main' inicia la ejecución de la aplicación en Java&lt;br /&gt;  public static void main( String[] args )&lt;br /&gt;  {&lt;br /&gt;     System.out.println(" * * * * * * * *");&lt;br /&gt;     System.out.println("  * * * * * * * *");&lt;br /&gt;     System.out.println(" * * * * * * * *");&lt;br /&gt;     System.out.println("  * * * * * * * *");&lt;br /&gt;     System.out.println(" * * * * * * * *");&lt;br /&gt;     System.out.println("  * * * * * * * *");&lt;br /&gt;     System.out.println(" * * * * * * * *");&lt;br /&gt;     System.out.println("  * * * * * * * *");&lt;br /&gt;&lt;br /&gt;     System.exit(0);&lt;br /&gt;  } // Fin del método 'main'&lt;br /&gt;} ///:~&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Conclusiones&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;El uso del método &lt;span style="font-family: courier new; font-weight: bold;"&gt;println&lt;/span&gt; del objeto &lt;span style="font-family: courier new; color: rgb(51, 204, 0);"&gt;out&lt;/span&gt; de la clase &lt;span style="font-family: courier new;"&gt;System&lt;/span&gt; juego el papel principal en la solución de este problema.&lt;br /&gt;&lt;br /&gt;Se ha tenido en cuenta el espaciado de inicio de línea para lograr el patrón que se muestra en la imagen superior de esta entrada.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-1893656400461072642?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/1893656400461072642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/ch02-27-tablero-damas.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/1893656400461072642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/1893656400461072642'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/ch02-27-tablero-damas.html' title='Ch02-27 Tablero damas'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UnHcjnFtcdE/SvljazJNrDI/AAAAAAAABdk/vd27NgLWHWM/s72-c/ch02_tableroDamas.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-3686817582015959931</id><published>2009-11-10T04:47:00.000-08:00</published><updated>2009-11-10T04:55:01.226-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Código fuente'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Capítulo02'/><category scheme='http://www.blogger.com/atom/ns#' term='Matemática'/><title type='text'>Ch02-26 Múltiplos</title><content type='html'>&lt;div style="text-align: justify;"&gt;2.26 Escriba una aplicación que lea dos enteros, determine si el primero es un múltiplo del segeundo e imprima el resultado. [&lt;span style="font-style: italic;"&gt;Sugerencia&lt;/span&gt;: use el operador residuo].&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Solución&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;import java.util.Scanner;&lt;br /&gt;&lt;br /&gt;// Declaración de clase&lt;br /&gt;public class Ch02_Multiplo&lt;br /&gt;{&lt;br /&gt;  // El método 'main' inicia la ejecución de la aplición en Java&lt;br /&gt;  public static void main( String[] args )&lt;br /&gt;  {&lt;br /&gt;     // Variables&lt;br /&gt;     int numero1;&lt;br /&gt;     int numero2;&lt;br /&gt;&lt;br /&gt;     // Instanciación de un objeto de clase 'Scanner'&lt;br /&gt;     Scanner entrada = new Scanner( System.in );&lt;br /&gt;&lt;br /&gt;     // Solicitud y obtención de los datos&lt;br /&gt;     System.out.print( "Digite el primer entero: " );&lt;br /&gt;     numero1 = entrada.nextInt();&lt;br /&gt;&lt;br /&gt;     System.out.print( "Digite el segundo entero: " );&lt;br /&gt;     numero2 = entrada.nextInt();&lt;br /&gt;&lt;br /&gt;     // Determinar si el primer entero es múltiplo del segundo entero&lt;br /&gt;     if( numero1 % numero2 == 0 )&lt;br /&gt;     {&lt;br /&gt;        System.out.printf( "\n%d es múltiplo de %d.", numero1, numero2 );&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     System.exit(0);&lt;br /&gt;&lt;br /&gt;  } // Fin del método 'main'&lt;br /&gt;} ///:~&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Conclusiones&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Como se puede observar en el código fuente de la solución al problema planteado se destaca el sudo del operador residuo (&lt;span style="font-family: courier new;"&gt;%&lt;/span&gt;) para determinar si un número es múltiplo de otro. El método &lt;a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html#exit%28int%29"&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;exit&lt;/span&gt;&lt;/a&gt; (línea 29) recibe como parámetro un entero (en caso de ser un número distinto de cero (0), quiere decir que el programa ha termina de una forma anormal).&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-3686817582015959931?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/3686817582015959931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/ch02-26-multiplos.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/3686817582015959931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/3686817582015959931'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/ch02-26-multiplos.html' title='Ch02-26 Múltiplos'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-6833109383773186511</id><published>2009-11-06T07:07:00.000-08:00</published><updated>2009-11-06T07:11:15.970-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Capítulo02'/><category scheme='http://www.blogger.com/atom/ns#' term='Matemática'/><title type='text'>Ch02-25 Par o impar</title><content type='html'>&lt;div style="text-align: justify;"&gt;2.25 Escriba una aplicación que lea un entero y que determine e imprima si es impar o par. [&lt;span style="font-style: italic;"&gt;Sugerencia&lt;/span&gt;: use el operador residuo. Un número par es un múltiplo de 2. Cualquier múltiplo de 2 deja un residuo de 0 (cero) cuando se divide entre 2.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Solución&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;import java.util.Scanner;&lt;br /&gt;&lt;br /&gt;// Declaración de clase&lt;br /&gt;public class Ch02_ParOImpar&lt;br /&gt;{&lt;br /&gt;  // El método 'main' inicia la ejecución de la aplicación en Java&lt;br /&gt;  public static void main( String[] args )&lt;br /&gt;  {&lt;br /&gt;     // Variables&lt;br /&gt;     int numero;&lt;br /&gt;&lt;br /&gt;     // Instanciación de un objeto de clase 'Scanner'&lt;br /&gt;     Scanner entrada = new Scanner( System.in );&lt;br /&gt;&lt;br /&gt;     // Solicitud y obtención del número entero&lt;br /&gt;     System.out.print( "Digite un número entero: " );&lt;br /&gt;     numero = entrada.nextInt();&lt;br /&gt;&lt;br /&gt;     // Determinar si es par o impar&lt;br /&gt;     if( numero % 2 == 0 )&lt;br /&gt;     {&lt;br /&gt;        System.out.printf("\n%d es par.\n", numero );&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     if( numero % 2 != 0 )&lt;br /&gt;     {&lt;br /&gt;        System.out.printf("\n%d es impar.\n", numero );&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     // Salida&lt;br /&gt;     System.exit(0);&lt;br /&gt;&lt;br /&gt;  } // fin de main&lt;br /&gt;} ///:~&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Conclusiones&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;En la solución de este problema se destaca el uso del operador % (residuo, resto, módulo o modulus) para determinar si el número que introdujo el usuario es par o impar.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-6833109383773186511?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/6833109383773186511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/ch02-25-par-o-impar.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/6833109383773186511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/6833109383773186511'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/ch02-25-par-o-impar.html' title='Ch02-25 Par o impar'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-5253886356915392863</id><published>2009-11-06T05:11:00.000-08:00</published><updated>2009-11-06T07:11:43.469-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Capítulo02'/><category scheme='http://www.blogger.com/atom/ns#' term='Matemática'/><title type='text'>Ch02-24 Mayor y menor 5 enteros</title><content type='html'>&lt;div style="text-align: justify;"&gt;2.24 Escriba una aplicación que lea cinco enteros y que determine e imprima los enteros mayor y menor en el grupo. Use solamente las técnicas de programación que aprendió en este capítulo.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Solución&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;import java.util.Scanner;&lt;br /&gt;// Declaración de clase&lt;br /&gt;public class Ch02_Comparar5Enteros&lt;br /&gt;{&lt;br /&gt;  // El método main inicia la ejecución de la aplicación&lt;br /&gt;  public static void main( String[] args )&lt;br /&gt;  {&lt;br /&gt;     // Variables&lt;br /&gt;     int num1; // Primer entero&lt;br /&gt;     int num2; // Segundo entero&lt;br /&gt;     int num3; // Tercer entero&lt;br /&gt;     int num4; // Cuarto entero&lt;br /&gt;     int num5; // Quinto entero&lt;br /&gt;     int menor; // Número entero menor del grupo&lt;br /&gt;     int mayor; // Número entero mayor del grupo&lt;br /&gt;&lt;br /&gt;     // Instanciación (creación) de un objeto de clase 'Scanner'&lt;br /&gt;     Scanner entrada;&lt;br /&gt;     entrada = new Scanner( System.in );&lt;br /&gt;&lt;br /&gt;     // Solicitud y obtención de los datos (números enteros)&lt;br /&gt;     System.out.printf( "Digite el primer número entero: ");&lt;br /&gt;     num1 = entrada.nextInt();&lt;br /&gt;&lt;br /&gt;     System.out.print( "Digite el segundo número entero: " );&lt;br /&gt;     num2 = entrada.nextInt();&lt;br /&gt;&lt;br /&gt;     System.out.print( "Digite el tercer número entero: " );&lt;br /&gt;     num3 = entrada.nextInt();&lt;br /&gt;&lt;br /&gt;     System.out.print( "Digite el cuarto número entero: " );&lt;br /&gt;     num4 = entrada.nextInt();&lt;br /&gt;&lt;br /&gt;     System.out.print( "Digite el quinto número entero: " );&lt;br /&gt;     num5 = entrada.nextInt();&lt;br /&gt;&lt;br /&gt;     // Asignación temporal&lt;br /&gt;     menor = num1;&lt;br /&gt;     mayor = num5;&lt;br /&gt;&lt;br /&gt;     // Determinar el número menor del grupo de los 5 enteros&lt;br /&gt;     if( num2 &lt; menor =" num2;" menor =" num3;" menor =" num4;" menor =" num5;"&gt; mayor )&lt;br /&gt;     {&lt;br /&gt;        mayor = num1;&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     if( num2 &gt; mayor )&lt;br /&gt;     {&lt;br /&gt;        mayor = num2;&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     if( num3 &gt; mayor )&lt;br /&gt;     {&lt;br /&gt;        mayor = num3;&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     if( num4 &gt; mayor )&lt;br /&gt;     {&lt;br /&gt;        mayor = num4;&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     // Visualización (mostrar) resultados&lt;br /&gt;     System.out.printf( "\nEl menor de: %d, %d, %d, %d y %d es %d\n", num1,num2,num3,num4,num5,menor);&lt;br /&gt;     System.out.printf( "El mayor de: %d, %d, %d, %d y %d es %d\n", num1,num2,num3,num4,num5,mayor);&lt;br /&gt;&lt;br /&gt;  } // fin de main&lt;br /&gt;} ///:~&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Conclusiones&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;Cómo puede observarse la solución a este problema es muy sencilla. Para agilizar la entrada de datos se usó un objeto de la clase Scanner (entrada).&lt;br /&gt;&lt;br /&gt;Por otro lado, aquí se demuestra cómo formatear la salida a través del método static printf.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-5253886356915392863?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/5253886356915392863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/ch02-16-mayor-y-menor-5-enteros.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/5253886356915392863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/5253886356915392863'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/ch02-16-mayor-y-menor-5-enteros.html' title='Ch02-24 Mayor y menor 5 enteros'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-1674832023367659167</id><published>2009-11-05T04:04:00.001-08:00</published><updated>2009-11-05T04:10:03.260-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Código fuente'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Capítulo02'/><category scheme='http://www.blogger.com/atom/ns#' term='Gráficos'/><title type='text'>Ch02-18 Figuras planas</title><content type='html'>&lt;div style="text-align: justify;"&gt;2.18 Escriba una aplicación que muestre un cuadro, un óvalo, una flecha y un diamante usando asteriscos (*). Como se muestra a continuación:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UnHcjnFtcdE/SvK_mNh17OI/AAAAAAAABdM/rL_husmfVjg/s1600-h/ch02_cuadro%C3%93valoFlechaDiamante.jpeg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 376px; height: 149px;" src="http://2.bp.blogspot.com/_UnHcjnFtcdE/SvK_mNh17OI/AAAAAAAABdM/rL_husmfVjg/s400/ch02_cuadro%C3%93valoFlechaDiamante.jpeg" alt="" id="BLOGGER_PHOTO_ID_5400589566358187234" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Solución&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;// Declaración de clase&lt;br /&gt;public class Ch02_Figuras&lt;br /&gt;{&lt;br /&gt;// El método 'main' inicia la ejecución de la aplicación&lt;br /&gt;public static void main( String[] args)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;   System.out.printf( "*********\t***\t  *\t  *\n");&lt;br /&gt;   System.out.printf( "*       *     *       *      ***        * *\n");&lt;br /&gt;   System.out.printf( "*       *    *         *    *****      *   *\n");&lt;br /&gt;   System.out.printf( "*       *    *         *      *       *     *\n");&lt;br /&gt;   System.out.printf( "*       *    *         *      *      *       *\n");&lt;br /&gt;   System.out.printf( "*       *    *         *      *       *     *\n");&lt;br /&gt;   System.out.printf( "*       *    *         *      *        *   *\n");&lt;br /&gt;   System.out.printf( "*       *     *       *       *         * *\n");&lt;br /&gt;   System.out.printf( "*********\t***          *\t  *\n");&lt;br /&gt;&lt;br /&gt;} // Fin del método 'main'&lt;br /&gt;&lt;br /&gt;} // Fin de la declaración del cuerpo de la clase 'Ch02_Figuras'&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Conclusiones&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;La salida estándar permite la salida de figuras planas formadas por carácteres del conjunto UNICODE.&lt;br /&gt;&lt;br /&gt;El uso de caracteres especiales como: &lt;span style="font-family:courier new;"&gt;\t&lt;/span&gt; y &lt;span style="font-family:courier new;"&gt;\n&lt;/span&gt; (tabulación y nueva línea, respectivamente) facilitan la solución a este problema.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-1674832023367659167?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/1674832023367659167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/1674832023367659167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/1674832023367659167'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2009/11/2.html' title='Ch02-18 Figuras planas'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UnHcjnFtcdE/SvK_mNh17OI/AAAAAAAABdM/rL_husmfVjg/s72-c/ch02_cuadro%C3%93valoFlechaDiamante.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-5177340313443250379</id><published>2009-10-27T08:04:00.000-07:00</published><updated>2009-11-05T04:10:29.956-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Capítulo02'/><category scheme='http://www.blogger.com/atom/ns#' term='Matemática'/><title type='text'>Ch02-17 Promedio Entero</title><content type='html'>&lt;div style="text-align: justify;"&gt;2.17 Escriba una aplicación que reciba tres enteros del usuario y muestre la suma, promedio, producto, menor y mayor de esos números. [&lt;span style="font-style: italic;"&gt;Nota:&lt;/span&gt; el cálculo del promedio en este ejercicio debe resultar en una representación entera del promedio. Por lo tanto, si la suma de los valores es 7, el promedio debe ser 2, no 2.3333...].&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Solución&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;import java.util.Scanner; // importa la clase Scanner&lt;br /&gt;&lt;br /&gt;public class Ch02_PromedioEntero&lt;br /&gt;{&lt;br /&gt;/** inicia y finaliza la ejecución de la aplicación */&lt;br /&gt;public static void main( String[] args )&lt;br /&gt;{&lt;br /&gt; // crea un objeto Scanner&lt;br /&gt; Scanner teclado = new Scanner( System.in );&lt;br /&gt;&lt;br /&gt; // declara tres variables de tipo entero&lt;br /&gt; int num1, num2, num3;&lt;br /&gt;&lt;br /&gt; // solicita y guarda el primer número&lt;br /&gt; System.out.print( "Escriba el primer número: " );&lt;br /&gt; num1 = teclado.nextInt();&lt;br /&gt;&lt;br /&gt; // solicita y guarda el segundo número&lt;br /&gt; System.out.print( "Escriba el segundo número: " );&lt;br /&gt; num2 = teclado.nextInt();&lt;br /&gt;&lt;br /&gt; // solicita y guarda el tercer número&lt;br /&gt; System.out.print( "Escriba el tercer número: " );&lt;br /&gt; num3 = teclado.nextInt();&lt;br /&gt;&lt;br /&gt; // calcula la suma de los tres números.&lt;br /&gt; int suma = num1 + num2 + num3;&lt;br /&gt;&lt;br /&gt; System.out.printf( "\n\nSuma: %d + %d + %d = %d\n" , num1 , num2 , num3 , suma );&lt;br /&gt;&lt;br /&gt; // calcula el promedio de los tres números. En este caso solo se trunca la parte entera&lt;br /&gt; int promedio = suma / 3;&lt;br /&gt;&lt;br /&gt; System.out.printf( "Promedio: %d / 3 = %d\n" , suma , promedio );&lt;br /&gt;&lt;br /&gt; // calcula el producto de los tres números.&lt;br /&gt; int producto = num1 * num2 * num3;&lt;br /&gt;&lt;br /&gt; System.out.printf( "Producto: %d * %d * %d = %d\n" , num1 , num2 , num3 , producto );&lt;br /&gt;&lt;br /&gt; // determina el menor de los tres números&lt;br /&gt; if( num1 &lt;&gt; num2 )&lt;br /&gt; {&lt;br /&gt;    if( num1 &gt; num3 )&lt;br /&gt;    {&lt;br /&gt;       System.out.printf( "Mayor: %d\n" , num1 );&lt;br /&gt;    } // fin de if anidado. Profundidad: 1&lt;br /&gt;    else if( num3 &gt; num2 )&lt;br /&gt;    {&lt;br /&gt;       System.out.printf( "Mayor: %d\n" , num3 );&lt;br /&gt;    } // fin de if anidado. Profundidad: 1&lt;br /&gt;    else&lt;br /&gt;    {&lt;br /&gt;       System.out.printf( "Maor: %d\n" , num2 );&lt;br /&gt;    } // fin de&lt;br /&gt; } // fin de if&lt;br /&gt; else&lt;br /&gt; {&lt;br /&gt;    if( num2 &gt; num3 )&lt;br /&gt;    {&lt;br /&gt;       System.out.printf( "Mayor: %d\n" , num2 );&lt;br /&gt;    } // fin de if anidado. Profundidad: 1&lt;br /&gt;    else&lt;br /&gt;    {&lt;br /&gt;       System.out.printf( "Mayor: %d\n" , num3 );&lt;br /&gt;    } // fin de else anidado. Profundidad: 1&lt;br /&gt; } // fin de else&lt;br /&gt;&lt;br /&gt; System.out.println( "\n" );&lt;br /&gt;&lt;br /&gt;} // fin de main&lt;br /&gt;} ///:~&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Conclusiones&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Vale destacar que si se usan valores de naturaleza entero, los valores obtenidos  a través de operaciones aritméticas, estos resultarán del mismo tipo.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;La solución de este problema, representaq una manera sencilla de obtener el menor y el mayor de un conjunto de tres números enteros, gracias al uso de la construcción condicional &lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;if&lt;/span&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-5177340313443250379?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/5177340313443250379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2009/10/2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/5177340313443250379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/5177340313443250379'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2009/10/2.html' title='Ch02-17 Promedio Entero'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-690071206405927989</id><published>2009-10-27T07:42:00.000-07:00</published><updated>2009-11-06T07:06:36.581-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Matemática'/><title type='text'>Ch02-16: Número Mayor o Números Iguales</title><content type='html'>&lt;div style="text-align: justify;"&gt;2.16 Escriba una aplicación que pida al usuario que escriba dos enteros, que obtenga los números del usuario y muestre el número más grande, seguido de las palabras "&lt;span style="font-family:courier new;"&gt;es más grande&lt;/span&gt;". Si los números son iguales, imprima el mensaje "&lt;span style="font-family:courier new;"&gt;Estos números son iguales&lt;/span&gt;".&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Solución&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;import java.util.Scanner;&lt;br /&gt;&lt;br /&gt;// Declaración de la clase&lt;br /&gt;public class Ch02_Comparacion&lt;br /&gt;{&lt;br /&gt;// El método 'main' inicia la ejecuación de la aplicación en Java&lt;br /&gt;public static void main( String[] args )&lt;br /&gt;{&lt;br /&gt;  // Variables&lt;br /&gt;  int numero1; // Primer número entero&lt;br /&gt;  int numero2; // Segundo número entero&lt;br /&gt;&lt;br /&gt;  // Instanciación de un objeto de tipo 'Scanner'&lt;br /&gt;  Scanner entrada;&lt;br /&gt;  entrada = new Scanner( System.in );&lt;br /&gt;&lt;br /&gt;  // Petición de los datos al usuario&lt;br /&gt;  System.out.print( "Digite el pimer número entero: " );&lt;br /&gt;  numero1 = entrada.nextInt();&lt;br /&gt;&lt;br /&gt;  System.out.print( "Digite el segundo número entero: " );&lt;br /&gt;  numero2 = entrada.nextInt();&lt;br /&gt;&lt;br /&gt;  if( numero1 &gt; numero2)&lt;br /&gt;  {&lt;br /&gt;     System.out.printf( "%d es más grande.\n", numero1 );&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  if( numero2 &gt; numero1)&lt;br /&gt;  {&lt;br /&gt;     System.out.printf( "%d es maś grande.\n", numero2 );&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  if( numero1 == numero2 )&lt;br /&gt;  {&lt;br /&gt;     System.out.printf( "Estos números son iguales.\n");&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  System.exit(0); // Salida&lt;br /&gt;&lt;br /&gt;} // Fin del método 'main'&lt;br /&gt;&lt;br /&gt;} // Fin de la declaración del cuerpo de la clase&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Conclusiones&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;En esta solución es importante observar el uso de la palabra reservada (o clave) &lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;if&lt;/span&gt; para la evaluación de números.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;También se hace uso de la clase &lt;span style="font-style: italic;"&gt;Scanner&lt;/span&gt; para la instanciación de objetos que a través de sus responsabilidades (métodos) permiten la captura de datos a través de la entrada estándar.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-690071206405927989?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/690071206405927989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2009/10/e2-16-numero-mayor-o-numeros-iguales.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/690071206405927989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/690071206405927989'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2009/10/e2-16-numero-mayor-o-numeros-iguales.html' title='Ch02-16: Número Mayor o Números Iguales'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-8169321521947710810</id><published>2009-10-10T09:42:00.000-07:00</published><updated>2009-10-27T17:53:10.929-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Código fuente'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Matemática'/><title type='text'>E2-15: Suma, producto, diferencia y cociente</title><content type='html'>&lt;div style="text-align: justify;"&gt;2.15 Escriba una aplicación que pida al usuario que escriba dos números, que obtenga los números del usuario e imprima la suma, producto, diferencia y cociente (división) de los números.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Solución&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;import java.util.Scanner;&lt;br /&gt;&lt;br /&gt;// Declaración de clase 'Aritmetica'&lt;br /&gt;public class Ch02_Aritmetica&lt;br /&gt;{&lt;br /&gt;  // Método de clase&lt;br /&gt;  public static void main( String[] args )&lt;br /&gt;  {&lt;br /&gt;     // Declaración de variables&lt;br /&gt;     int x; // Primer número entero&lt;br /&gt;     int y; // Segundo número entero&lt;br /&gt;     int suma; // Almacenará el valor obtenido de sumar x e y&lt;br /&gt;     int resta; // Almacenará el valor obtenido de restar x menos y&lt;br /&gt;     int producto; // Almacenará el valor obtenido de multiplicar x por y&lt;br /&gt;     int cociente; // Almacenerá el valor obtenido de dividir x sobre y&lt;br /&gt;&lt;br /&gt;     // Instanciación (creación) de un objeto de clase 'Scanner'&lt;br /&gt;     Scanner entrada = new Scanner( System.in );&lt;br /&gt;&lt;br /&gt;     // Solicitud de los datos al usuario a través de la entrada estándar&lt;br /&gt;     System.out.print( "Digite el primer número entero: ");&lt;br /&gt;     x = entrada.nextInt();&lt;br /&gt;&lt;br /&gt;     System.out.printf( "Digite el segundo número entero: ");&lt;br /&gt;     y = entrada.nextInt();&lt;br /&gt;&lt;br /&gt;     // Calcular suma&lt;br /&gt;     suma = x + y;&lt;br /&gt;&lt;br /&gt;     // Calcular resta&lt;br /&gt;     resta = x - y;&lt;br /&gt;&lt;br /&gt;     // Calcular producto&lt;br /&gt;     producto = x * y;&lt;br /&gt;&lt;br /&gt;     // Calcular cociente&lt;br /&gt;     cociente = x / y;&lt;br /&gt;&lt;br /&gt;     // Visualización de resultados en la salida estándar (monitor)&lt;br /&gt;     System.out.printf( "La suma de %d + %d = %d\n", x , y , suma );&lt;br /&gt;&lt;br /&gt;     System.out.printf( "La diferencia de %d - %d = %d\n", x , y , resta );&lt;br /&gt;&lt;br /&gt;     System.out.printf( "El producto de %d * %d = %d\n", x , y , producto );&lt;br /&gt;&lt;br /&gt;     System.out.printf( "El cociente de %d / %d = %d\n", x , y , cociente);&lt;br /&gt;&lt;br /&gt;     System.exit(0);&lt;br /&gt;  } // fin de main&lt;br /&gt;} ///:~&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Conclusiones&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;Cómo puede observarse la solución a este problema es muy sencilla. Para agilizar la entrada de datos se usó un objeto de la clase Scanner (entrada).&lt;br /&gt;&lt;br /&gt;Por otro lado, aquí se demuestra cómo formatear la salida a través del método static printf.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-8169321521947710810?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/8169321521947710810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2009/10/e2-15-suma-producto-diferencia-y.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/8169321521947710810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/8169321521947710810'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2009/10/e2-15-suma-producto-diferencia-y.html' title='E2-15: Suma, producto, diferencia y cociente'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-5352174456075369119</id><published>2009-10-05T19:58:00.000-07:00</published><updated>2009-10-05T20:08:31.428-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sugerencias'/><title type='text'>¿Qué necesitas para empezar a programar?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://degreedirectory.org/cimages/multimages/2/computer_programming.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://degreedirectory.org/cimages/multimages/2/computer_programming.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Muchas personas que se inician en el mundo de la programación, y que sienten deseo por profundizar en esta área de la Informática tan interesante, suelen preguntarse cuáles son los requisitos esenciales para empezar a programar.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Tiempo&lt;/li&gt;&lt;li&gt;Dedicación&lt;/li&gt;&lt;li&gt;Manuales y libros (los mejores que se puedan conseguir, por ejemplo Cómo Programar en Java de Deitel &amp;amp; Deitel, cualquiera de sus ediciones está bien).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Deseos de superación&lt;/li&gt;&lt;li&gt;Lógica y matemática (todo los conocimientos de estas dos discplinas que puedan adquirir están bien y te hacen un buen programador).&lt;/li&gt;&lt;li&gt;Otras...&lt;/li&gt;&lt;/ol&gt;Es importante hacer notar que algunos de los requerimientos anteriores pueden variar, pues hay personas que se devuelven en determinados campos con más facilidad que otros.&lt;br /&gt;&lt;br /&gt;¿Y los problemas que deben resolverse?&lt;br /&gt;&lt;br /&gt;En cuanto más problemas resuelvas de forma concreta y simple mejor será su desempeño. Esto es una garantía hecha por los grandes expertos de la programación. [&lt;span style="font-style: italic;"&gt;Nota&lt;/span&gt;: En este punto es importante resaltar que cada problema planteado propone un reto para el programador. Eso es lo que hace divertido e interesante programar].&lt;br /&gt;&lt;br /&gt;Continuará...&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-5352174456075369119?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/5352174456075369119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2009/10/que-necesitas-para-empezar-programar.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/5352174456075369119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/5352174456075369119'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2009/10/que-necesitas-para-empezar-programar.html' title='¿Qué necesitas para empezar a programar?'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-66037927599166795.post-3902356695619293544</id><published>2009-09-19T08:50:00.000-07:00</published><updated>2009-09-19T18:33:17.368-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Bienvenidos a Código Fuente Java</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: center;"&gt;&lt;img alt="http://lh4.ggpht.com/_UnHcjnFtcdE/SrWEoLNiu8I/AAAAAAAABZM/7gl1lebG9nc/JavaSE-logo3D.png" src="http://lh4.ggpht.com/_UnHcjnFtcdE/SrWEoLNiu8I/AAAAAAAABZM/7gl1lebG9nc/JavaSE-logo3D.png" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Hoy 19 de septiembre de 2009 decidí iniciar este nuevo blog, con la idea de crear un espacio que ayude aquellos quienes se inician en la programación en Java, y cómo para las personas que tienen experiencia. En la Red hay cientos de sitios dedicados a este tópico, y que realmente representan fuentes de información concretas y fidedignas acerca de  la tecnología Java y su respectiva plataforma, que  a su vez son altamente valoradas por los visitantes; pero este blog también pretende llegar a ser un lugar interactivo y actualizado.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Objetivo general&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El objetivo principal de este weblog es ofrecer códigos fuente de programas propuesto por distintos textos enfocados a la programación en el lenguaje de programación Java.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;¿Por qué se escogía Java?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Básicamente por ser un lenguaje de programación robusto, estable, actualizado, multiplaforma, limpio, bien diseñado e implementado, libre, orientado a objetos, su amplia API. Porque &lt;span style="font-style: italic;"&gt;Java = C++--&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;¿Cuál será el contenido de este blog?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Código fuente de la solución y explicación de problemas planteados y propuestos.&lt;/li&gt;&lt;li&gt;Noticias generales acerca Java.&lt;/li&gt;&lt;li&gt;Tips&lt;/li&gt;&lt;li&gt;Entornos de desarollodo integrados (NetBeans, Eclipse, etc.)&lt;/li&gt;&lt;li&gt;Software Libre&lt;/li&gt;&lt;li&gt;Guías de instalación, configuración, etc.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Otros&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-style: italic;"&gt;¿Cómo se mostrará la información en el blog "Código Fuente Java"?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;El código fuente publicado usará la impresora estética de Alexander Gorbashov (Syntax Highlighter). Se adjuntarán imágenes, vídeos, entre otro material relacionado e interesante.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Los comentarios, sugerencias y replicas de los usuarios serán bienvenidos&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Se agradecerá a aquellos visitantes que hagan sus comentarios acerca de los códigos fuente noticias, guías, etc.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;¿Quién está a cargo de este blog?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Al igual que &lt;a href="http://www.softvaina.blogspot.com/"&gt;&lt;span style="font-style: italic;"&gt;Ubuntu - Ubuntu y Actualidad&lt;/span&gt;,&lt;/a&gt; me encargaré también de mantener este blog. Mi nombre es Jhon F. Ortiz O., soy estudiante de Ingeniería de Sistemas, soy entusiasta del Software Libre y la programación en Java (de aquí haya decidido crear un sitio como este).&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/66037927599166795-3902356695619293544?l=codigofuentejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigofuentejava.blogspot.com/feeds/3902356695619293544/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codigofuentejava.blogspot.com/2009/09/bienvenidos-codigo-fuente-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/3902356695619293544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/66037927599166795/posts/default/3902356695619293544'/><link rel='alternate' type='text/html' href='http://codigofuentejava.blogspot.com/2009/09/bienvenidos-codigo-fuente-java.html' title='Bienvenidos a Código Fuente Java'/><author><name>John Ortiz</name><uri>http://www.blogger.com/profile/06885697758870446433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://2.bp.blogspot.com/-d49L8syQ8GA/TaSGloKJK2I/AAAAAAAADF8/MoLeLeFz-vU/s220/Mind.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_UnHcjnFtcdE/SrWEoLNiu8I/AAAAAAAABZM/7gl1lebG9nc/s72-c/JavaSE-logo3D.png' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
