<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" >
<channel>
<title>Java  ORACLE </title>
<link>http://paulonline.nireblog.com</link>
<description>Welcome!. Gracias por ingresar, espero guste. </description>
<pubDate>Wed, 10 Feb 2010 05:36:42 +0100</pubDate>
<image>
<title>Java  ORACLE </title>
<url>http://files.nireblog.com/blogs/paulonline/gravatar.gif</url>
<link>http://paulonline.nireblog.com</link>
</image>
<generator>http://nireblog.com</generator>
	<item>
	<title>O R A C L E</title>
	<link>http://paulonline.nireblog.com/post/2009/04/22/o-r-a-c-l-e</link>
	<guid>http://paulonline.nireblog.com/post/2009/04/22/o-r-a-c-l-e</guid>
		<description><![CDATA[<p>Oracle Corporation compró a Sun Microsystems</p>
<p><img id="image494771" class="imgcentro" src="http://files.nireblog.com/blogs4/paulonline/files/4.GIF" alt="4.GIF" align="middle" /></p>
<p><img id="image494772" class="imgcentro" src="http://files.nireblog.com/blogs4/paulonline/files/2.GIF" alt="2.GIF" align="middle" /> </p>
<p><img id="image494773" class="imgcentro" src="http://files.nireblog.com/blogs4/paulonline/files/1.GIF" alt="1.GIF" align="middle" /></p>
<p><img id="image494774" class="imgcentro" src="http://files.nireblog.com/blogs4/paulonline/files/3.GIF" alt="3.GIF" align="middle" /> </p>
<p>Según mi punto de vista esto puede significar:</p>
<p>1.- Que Solaris sea el nuevo competidor de Linux, eso será al rojo vivo</p>
<p>2.- Que los servidores IBM tendrán una competencia con los Servidores ORACLE</p>
<p>3.- Que NetBeans descanse en el olvido, yo lo dije y lo sigo diciendo: JDeveloper es la voz</p>
<p>4.- Que Office y Windows para ser competitivos deben ser multiplataforma, no queda otra Bill.</p>
<p>5.- Que ORACLE haga picadillo a SAP, ya era hora ORACLE</p>
<p>6.- Que MySQL descanse en el olvido, PostgreSQL, correrás la misma suerte, la razón esmuy sencilla: no eres siquiera competencia para ORACLE DATABASE.</p>
<p>7.-Java nos demuestra otra vez que puede darse los lujos que quiera: va a llegar a costar y valer más. No creo que desaparezca el mejor Lenguaje de Programación</p>
<p>8.- .Net ¿qué es eso? .Net va a quedar en Windows solamente. Windows va a quedar con sus licencias y sus clientes. El problema es que la gente está adoptando LINUX, ahora, entonces Windows está bajando en ventas. Bill vas a tener que hacer algo ¿qué será?, ya se! volver libre a VisualBasic, es el único camino Bill. Así la comunidad PHP irá con VisualBasic, o creo que la comunidad VisualBasic se convertirá en comunidad Software Libre así como PHP. </p>
<p>9.- Esto es un baldazo de agua bien fría para los extrovertidos (algo de Windows por aquí, algo de Office por aca, algo de IBM por acá, dentro de este proyecto Java) que están en Sistemas. Ahora hay que ser introvertido y a la vez divertido: JavaOracle (OpenOffice+Solaris)</p>
<p>0.-Bueno, sobran motivos para estar felices por esta noticia.  Mi nuevo blog se llamará ORACLE. </p>
<p><a href="http://paulonline.nireblog.com/post/2009/04/22/o-r-a-c-l-e#comments">Comments</a></p>]]></description>
	<pubDate>Wed, 22 Apr 2009 04:17:33 +0100</pubDate>	</item>
	<item>
	<title>Crear un JOB en ORACLE</title>
	<link>http://paulonline.nireblog.com/post/2009/01/08/crear-un-job-en-oracle</link>
	<guid>http://paulonline.nireblog.com/post/2009/01/08/crear-un-job-en-oracle</guid>
		<description><![CDATA[<p>Un Job en pocas palabras es una tarea programada, entonces para correrlo utilizaremos un Store Procedure correr_job y el JOB en sí mismo que se llamará job_LLAMADOR (perdonen la sintaxis), y no se preocupen por que ...corre cada treinta segundos </p>
<p>create or replace PROCEDURE correr_job IS<br /> BEGIN</p>
<p>--- aqui escribes la sentencia que desees por ejemplo</p>
<p>UPDATE T_USUARIO SET NESTID = '2' WHERE VUSERID='10666666666';</p>
<p> COMMIT;<br /> END CORRER_job;</p>
<p>y con esto lo corres</p>
<p>create or replace<br /> PROCEDURE job_LLAMADOR AS<br /> JobN user_jobs.job%TYPE;<br /> BEGIN<br /> --La siguiente linea manda correr el JOB cada 30 segundos<br /> --reemplazar 30/86400 por 7 para que sea una vez a la semana, cada siete dias<br /> dbms_job.submit(JobN, 'begin CORRER_JOB; end;', SYSDATE,'SYSDATE + 30/86400');<br /> COMMIT;<br /> END; </p>
<p>Pueden crear una vista, o si no, consultar a la DB de su JDeveloper o a ORACLEXE con </p>
<p>SELECT JOB, NEXT_DATE, NEXT_SEC FROM DBA_JOBS;</p>
<p> 
<p>Sí, continuo trabajando en Omnisciencia Consultores </p>
<p>chau</p>
<p><a href="http://paulonline.nireblog.com/post/2009/01/08/crear-un-job-en-oracle#comments">Comments</a></p>]]></description>
	<pubDate>Thu, 08 Jan 2009 01:18:49 +0100</pubDate>	</item>
	<item>
	<title>La magia de ORACLE</title>
	<link>http://paulonline.nireblog.com/post/2009/01/08/la-magia-de-oracle</link>
	<guid>http://paulonline.nireblog.com/post/2009/01/08/la-magia-de-oracle</guid>
		<description><![CDATA[<p>¿Cómo reportar el filtrado sin importar mayúsculas de minúsculas?</p>
<p>si Java los diferencia</p>
<p>Bueno, encontré lo siguiente:</p>
<p>...</p>
<p>String join=" WHERE UPPER(VNOMBRE) LIKE '%"+filtro.getNombre().toUpperCase()+"%' " + .... </p>
<p>...</p>
<p>espero les sirva</p>
<p>reporta sin importar mayúsculas no minúsculas</p>
<p>una verdadera magia.</p>
<p>Próximamente les daré el código de un Sorte en Java que no utiliza Randoms...Java</p>
<p>Para un conocedor de Java, solamente tiene que llamar métodos que ya están hechos...y el sorteo ¡ya estaba hecho!</p>
<p>es sumamente sencillo, es más, quiser que fues dificil, como lo fue el código anterior</p>
<p>pero hay que renovarse y les quiero proporcionar estos conocimientos.</p>
<p>chau </p>
<p><a href="http://paulonline.nireblog.com/post/2009/01/08/la-magia-de-oracle#comments">Comments</a></p>]]></description>
	<pubDate>Thu, 08 Jan 2009 01:06:43 +0100</pubDate>	</item>
	<item>
	<title>Sorteo JAVA</title>
	<link>http://paulonline.nireblog.com/post/2008/12/17/sorteo-java</link>
	<guid>http://paulonline.nireblog.com/post/2008/12/17/sorteo-java</guid>
		<description><![CDATA[<p>En esta oportunidad les ofrezco el código de un programa para sortear elementos String:</p>
<p>import java.io.BufferedReader;<br /> import java.io.InputStreamReader;<br /> import java.io.IOException;<br /> import java.util.Arrays;<br /> import java.util.Hashtable;<br /> import java.util.List;<br /> import java.util.Random;</p>
<p> public class SorteoRandom{<br /> public static void main(String[] args) {<br /> try{<br /> String[] exp=new String[11];<br /> exp[0]="10323243324";<br /> exp[1]="10432434213";<br /> exp[2]="10432424244";<br /> exp[3]="20432647774";<br /> exp[4]="10286267589";<br /> exp[5]="10792476654";<br /> exp[6]="20268890355";<br /> exp[7]="10268980254";<br /> exp[8]="10757999785";<br /> exp[9]="20653878687";<br /> exp[10]="20646376576";</p>
<p> int tot_exp=exp.length;<br /> InputStreamReader isr=new InputStreamReader(System.in);<br /> BufferedReader br=new BufferedReader(isr);<br /> System.out.println("Total de expedientes: "+tot_exp);<br /> System.out.println("Ingrese numero:");<br /> String bar=br.readLine();<br /> int foo=Integer.parseInt(bar);<br /> System.out.println("Expedientes: ");</p>
<p> Hashtable<Integer,String> ht=new Hashtable<Integer,String>();<br /> for(int i=0;i<exp.length;i++){<br /> ht.put(i,exp[i]);<br /> System.out.println(ht.get(i));<br /> }<br /> System.out.println("El numero es: "+foo);<br /> System.out.println("Los resultados del sorteo son:");<br /> for(int i=0;i<foo;i++){<br /> Random r=new Random();<br /> ht.put(i,exp[r.nextInt(tot_exp)]);<br /> System.out.println(i+1+". "+ht.get(i));<br /> }<br /> }<br /> catch(IOException ioe){<br /> ioe.getMessage();<br /> }<br /> }</p>
<p> } </p>
<div align="left"> </div>
<p><a href="http://paulonline.nireblog.com/post/2008/12/17/sorteo-java#comments">Comments</a></p>]]></description>
	<pubDate>Wed, 17 Dec 2008 17:36:32 +0100</pubDate>	</item>
	<item>
	<title>La Potencia de Java</title>
	<link>http://paulonline.nireblog.com/post/2008/12/06/la-potencia-de-java</link>
	<guid>http://paulonline.nireblog.com/post/2008/12/06/la-potencia-de-java</guid>
		<description><![CDATA[<p>Quiero decir que si no te sale un programa,</p>
<p>utiliza un try catch,</p>
<p>si no funciona con el try catch</p>
<p>en el catch, escribe tu programa</p>
<p>si no funciona con el try catch</p>
<p>jajaja</p>
<p>Java hace su aparición</p>
<p>utiliza un finally</p>
<p>y pon allí tu programa</p>
<p>...funcionará</p>
<p><strong>Java </strong></p>
<p><a href="http://paulonline.nireblog.com/post/2008/12/06/la-potencia-de-java#comments">Comments</a></p>]]></description>
	<pubDate>Sat, 06 Dec 2008 17:03:57 +0100</pubDate>	</item>
	<item>
	<title>La clase java.sql.Date de SQL: Ejemplo en DB</title>
	<link>http://paulonline.nireblog.com/post/2008/11/29/la-clase-javasqldate-de-sql-ejemplo-en-db</link>
	<guid>http://paulonline.nireblog.com/post/2008/11/29/la-clase-javasqldate-de-sql-ejemplo-en-db</guid>
		<description><![CDATA[<p align="left">Dicen que Java es potente</p>
<p align="left">Otros dicen que Java es dificil</p>
<p align="left">bueno, la verdad es que es potente y con pocas líneas de código puedes acceder a propiedades complicadas.</p>
<p align="left">Tenemos lo siguiente:</p>
<p align="left"><u>PROBLEMA:</u></p>
<p align="left">Parsear el tipo DATE de la base de datos para</p>
<p align="left">sql="INSERT INTO TABLA (FECHA)  VALUES (TO_DATE(?,'DD-MON-RR'))";</p>
<p align="left"><u>SOLUCION:</u></p>
<p align="left">Calendar c=new Calendar();</p>
<p align="left">long l=c.getTimeInMillis();</p>
<p align="left">Date d=new Date(l);</p>
<p align="left">Entidad o=new Entidad();</p>
<p align="left">o.setFecha(d); <em>// de tipo DATE</em></p>
<p align="left">&nbsp;</p>
<p align="left">y lo recoges con</p>
<p align="left">PreparedStatement pre=con.prepareStatement(sql) ;</p>
<p align="left">pre<strong>.setDate(</strong>1,o.getFecha());</p>
<p align="left">y cambia el SQL a:</p>
<p align="left">sql="INSERT INTO TABLA (FECHA)  VALUES (?)";</p>
<p align="left">&nbsp;</p>
<p><a href="http://paulonline.nireblog.com/post/2008/11/29/la-clase-javasqldate-de-sql-ejemplo-en-db#comments">Comments</a></p>]]></description>
	<pubDate>Sat, 29 Nov 2008 00:00:13 +0100</pubDate>	</item>
	<item>
	<title>Conexión cliente remoto con OracleXE 10g en Windows</title>
	<link>http://paulonline.nireblog.com/post/2008/11/13/conexion-cliente-remoto-con-oraclexe-10g-en-windows</link>
	<guid>http://paulonline.nireblog.com/post/2008/11/13/conexion-cliente-remoto-con-oraclexe-10g-en-windows</guid>
		<description><![CDATA[<p align="left">Ir a</p>
<p align="left">http://www.oracle.com/technology/software/products/database/xe/htdocs/102xewinsoft.html</p>
<p align="left">y descargar <span class="boldbodycopy">Oracle Database 10<em>g</em> Express Client </span><a name="client_xe1020winBaseDLink" title="client_xe1020winBaseDLink" onclick="youMustAgreePrompt();"></a>OracleXEClient.exe<span class="textA"> (30,943,220 bytes)</span></p>
<p align="left">Username: paul_lizardo@hotmail.com</p>
<div align="left">
<pre>Password:esyD7sJ</pre>
</div>
<p align="left">Hacer doble click en el instalador (suena muy infantil no?)</p>
<p align="left">next, next, next...bueno <u>instalar</u>, click en Finish</p>
<p align="left">Destination Folder: C:\XEClient\<br /> Port for 'Oracle Services for Microsoft Transaction Server': 2030</p>
<p align="left">Ejecutar RUN SQL Command Line y</p>
<p align="left">conectarse:</p>
<p align="left"><strong>CONNECT REPIP/REPIP@OSC2003:1521/XE</strong></p>
<p align="left">Calidad y servicio.</p>
<p><a href="http://paulonline.nireblog.com/post/2008/11/13/conexion-cliente-remoto-con-oraclexe-10g-en-windows#comments">Comments</a></p>]]></description>
	<pubDate>Thu, 13 Nov 2008 19:04:03 +0100</pubDate>	</item>
	<item>
	<title>Upload con struts-upload.war de Struts1.1</title>
	<link>http://paulonline.nireblog.com/post/2008/11/12/upload-con-struts-uploadwar-de-struts11</link>
	<guid>http://paulonline.nireblog.com/post/2008/11/12/upload-con-struts-uploadwar-de-struts11</guid>
		<description><![CDATA[<p align="left">Para hacer un upload con struts simplemente el archivo Upload.java tendria que modificarse como lo siguiente:</p>
<p align="left">//File directorio=new File("c:\\archivosPDFsubidos");<br /> //directorio.mkdir();<br /> //String path=directorio+fileName+theForm.getTheText();<br /> <strong>String path="c:\\"+fileName+theForm.getTheText();</strong><br /> try {<br /> //retrieve the file data<br /> ByteArrayOutputStream baos = new ByteArrayOutputStream();<br /> InputStream stream = file.getInputStream();<br /> if (!writeFile) {<br /> //only write files out that are less than 1MB<br /> if (file.getFileSize() < (4*1024000)) {</p>
<p align="left">byte[] buffer = new byte[8192];<br /> int bytesRead = 0;<br /> while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {<br /> baos.write(buffer, 0, bytesRead);<br /> }<br /> data = new String(baos.toByteArray());<br /> }<br /> else {<br /> data = new String("The file is greater than 4MB, " +<br /> " and has not been written to stream." +<br /> " File Size: " + file.getFileSize() + " bytes. This is a" +<br /> " limitation of this particular web application, hard-coded" +<br /> " in org.apache.struts.webapp.upload.UploadAction");<br /> }<br /> }<br /> else {<br /> // Aquí está mi aporte<br /> <strong>File f = new File(path);<br /> FileOutputStream out = new FileOutputStream(f);<br /> out.write(file.getFileData());<br /> out.flush();<br /> out.close();                    </strong></p>
<p align="left">//write the file to the file specified<br /> OutputStream bos = new FileOutputStream(theForm.getFilePath());<br /> int bytesRead = 0;<br /> byte[] buffer = new byte[8192];<br /> while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {<br /> bos.write(buffer, 0, bytesRead);<br /> }<br /> bos.close();<br /> data = "The file has been written to \"" + theForm.getFilePath() + "\"";<br /> }<br /> //close the stream<br /> stream.close();<br /> }<br /> catch (FileNotFoundException fnfe) {<br /> return null;<br /> }<br /> catch (IOException ioe) {<br /> return null;<br /> }</p>
<p align="left">...probad el código y vereis que hace una carga en la unidad C: (bueno, he sido educado en idioma español)</p>
<p align="left">de nada, a mi tampoco me salía, simplemente dije: si me sale lo coloco en mi blog.</p>
<p align="left">Puedes mejorar reeemplzando los tag html de struts con simple HTML</p>
<p align="left">&nbsp;</p>
<div align="center" style="text-align: center"><img id="image443144" class="imgcentro" src="http://files.nireblog.com/blogs4/paulonline/files/upload.jpg" alt="upload.jpg" /></div>
<p> <br />
<p align="left"><%@ page import="org.apache.struts.action.*,<br /> java.util.Iterator,<br /> org.apache.struts.webapp.upload.UploadForm"%><br /> <%@ page language="java" %><br /> <br />
<link href="./css/estilos.css" rel="stylesheet" type="text/css"> <br />
<form action="upload.do?queryParam=Successful" enctype="multipart/form-data"> <STYLE><br /> BODY {<br /> MARGIN-TOP: 0px;<br /> MARGIN-LEFT: 0px;<br /> }<br /> </STYLE></p>
<table class="clsUpload" border="0" cellpadding="0" cellspacing="0">
<tr valign="middle" align="right">
<td><input class="casillaLarga" type="file" name="theFile" /> </td>
<td>&nbsp; </td>
<td><input  class="buttoncenter" type="submit" value="Adjuntar"/> </td>
<td align="right"><input type="checkbox" checked="true" name="writeFile"/> </td>
</tr>
</table>
<p> <input name="theText" type="hidden" /><br /> <input name="filePath" type="hidden" /><br /> </form>
</p>
<p align="left">&nbsp;</p>
<p align="left">Pronto estaré con mayores novedades y aportaciones, por ejemplo hacer todo esto con Struts2 y con ADFBC.</p>
<p><a href="http://paulonline.nireblog.com/post/2008/11/12/upload-con-struts-uploadwar-de-struts11#comments">Comments</a></p>]]></description>
	<pubDate>Wed, 12 Nov 2008 20:01:30 +0100</pubDate>	</item>
	<item>
	<title>Omnisciencia Consultores</title>
	<link>http://paulonline.nireblog.com/post/2008/10/19/omnisciencia-consultores</link>
	<guid>http://paulonline.nireblog.com/post/2008/10/19/omnisciencia-consultores</guid>
		<description><![CDATA[<p>Soy Consultor y mi email es privera@omnisciencia.com</p>
<p><img id="image423926" class="imgcentro" src="http://files.nireblog.com/blogs4/paulonline/files/oraclehq.jpg" alt="oraclehq.jpg" align="middle" /> </p>
<p><a href="http://paulonline.nireblog.com/post/2008/10/19/omnisciencia-consultores#comments">Comments</a></p>]]></description>
	<pubDate>Sun, 19 Oct 2008 06:23:34 +0100</pubDate>	</item>
	<item>
	<title>RMAN Backup de ORACLE11g</title>
	<link>http://paulonline.nireblog.com/post/2008/10/13/rman-backup-de-oracle11g</link>
	<guid>http://paulonline.nireblog.com/post/2008/10/13/rman-backup-de-oracle11g</guid>
		<description><![CDATA[<p align="center"><img id="image419619" class="imgcentro" src="http://files.nireblog.com/blogs4/paulonline/files/orahq3.png" alt="orahq3.png" align="middle" /></p>
<p align="left"><em>--Backup sin utilizar catalog, con una sola línea de código</em></p>
<div align="left"></div>
<p align="left"><strong>RMAN></strong> <strong>backup database</strong> plus archivelog;</p>
<p align="left"><img id="image419624" class="imgcentro" src="http://files.nireblog.com/blogs4/paulonline/files/oracle.jpg" alt="oracle.jpg" align="middle" /></p>
<div align="left"></div>
<p align="left"><em>--Este es un backup utilizando catalog</em></p>
<div align="left"></div>
<p align="left">SQL> CREATE TABLESPACE DATA DATAFILE '/u01/app/oracle/P_01.DBF' SIZE 32M;<br /> SQL> CREATE USER RMAN_USER IDENTIFIED BY RMAN DEFAULT TABLESPACE DATA TEMPORARY TABLESPACE TEMP;<br /> SQL> GRANT CONNECT, RESOURCE, RECOVERY_CATALOG_OWNER TO RMAN_USER;</p>
<div align="left"></div>
<p align="left">[oracle@localhost bin]$./rman<br /> RMAN> connect catalog rman_user/rman;<br /> RMAN> create catalog tablespace data;<br /> RMAN> quit;</p>
<div align="left"></div>
<p align="left">[oracle@localhost bin]$./rman target / catalog rman_user/rman<br /> RMAN> register database;<br /> <strong>RMAN></strong> run<br /> {<br /> allocate channel c1 type disk;<br /> <strong>backup database</strong> format 'db_%u_%d_%s';<br /> backup format 'log_t%t_s%s_p%p'<br /> (archivelog all);<br /> }<br /> RMAN> QUIT;</p>
<div align="left"></div>
<p align="left"><em>-- Para ver los backups</em></p>
<div align="left"></div>
<p align="left">RMAN> list backup;</p>
<div align="left"></div>
<p align="left">RMAN> list backup summary;</p>
<div align="left"></div>
<p align="left">RMAN> list backup by file;</p>
<div align="left"></div>
<p align="left"><em>Los backups físicos pueden ser:</em></p>
<div align="left"></div>
<p align="left"><em><u>CONSISTENTES.</u> Todos los datafiles tienen el mismo SCN. Para esto, hacer</em></p>
<div align="left"></div>
<p align="left"><em>SHUTDOWN o en estado MOUNT.<br /> </em></p>
<div align="left"></div>
<p align="left"><em><u>INCONSISTENTES</u>. Debe estar en ARCHIVELOG. Para esto, revisar con<br /> </em></p>
<div align="left"></div>
<p align="left">SQL> SELECT log_mode FROM V$DATABASE;</p>
<div align="left"></div>
<p align="left">SQL> ARCHIVELOG LIST;</p>
<p><a href="http://paulonline.nireblog.com/post/2008/10/13/rman-backup-de-oracle11g#comments">Comments</a></p>]]></description>
	<pubDate>Mon, 13 Oct 2008 00:33:55 +0100</pubDate>	</item>
	<item>
	<title>El mayor valor y la suma total de una lista con Java6</title>
	<link>http://paulonline.nireblog.com/post/2008/10/12/el-mayor-valor-y-la-suma-total-de-una-lista-con-java6</link>
	<guid>http://paulonline.nireblog.com/post/2008/10/12/el-mayor-valor-y-la-suma-total-de-una-lista-con-java6</guid>
		<description><![CDATA[<p align="left"><img id="image419400" class="imgcentro" src="http://files.nireblog.com/blogs4/paulonline/files/duke.gif" alt="duke.gif" align="middle" /></p>
<p align="left">/*</p>
<p align="left">Estas líneas de código utiliza genéricos, autoboxing, como <strong>novedades </strong>de las últimas versiones de Java.</p>
<p align="left">Se ve que Java utiliza cada vez menos código.</p>
<p align="left">Se puede utilizar en <strong>JEE</strong>.</p>
<p align="left">*/</p>
<p align="left">&nbsp;</p>
<p align="left">import java.util.ArrayList; </p>
<p align="left">import java.util.List; </p>
<p align="left">class Cuentas{</p>
<p align="left">public static void main(String[] args){</p>
<p align="left"><strong>List<DoubIe> l=new ArrayList<DoubIe></strong><strong></strong>()</p>
<p align="left">l.add(.3);</p>
<p align="left">l.add(.4);</p>
<p align="left">double s=.0, m=Double.MIN_VALUE;</p>
<p align="left"><strong>for(double d:l)</strong>{</p>
<p align="left">s+=d;</p>
<p align="left">if(i>max)max=i;</p>
<p align="left">}</p>
<p align="left">System.out.println("Los números son  : "+l);</p>
<p align="left">System.out.println("La suma es          : "+s);</p>
<p align="left">System.out.println("El mayor es         : "+m);</p>
<p align="left">}</p>
<p align="left">}</p>
]]></description>
	<pubDate>Sun, 12 Oct 2008 20:31:48 +0100</pubDate>	</item>
	<item>
	<title>Aplicación java.io con Oracle JDeveloper11g en MVC</title>
	<link>http://paulonline.nireblog.com/post/2008/10/03/aplicacion-javaio-con-oracle-jdeveloper11g-en-mvc</link>
	<guid>http://paulonline.nireblog.com/post/2008/10/03/aplicacion-javaio-con-oracle-jdeveloper11g-en-mvc</guid>
		<description><![CDATA[<p align="left"><img id="image411521" src="http://files.nireblog.com/blogs4/paulonline/files/b5_sdkdownload.gif" alt="b5_sdkdownload.gif" align="right" /><em>/*Creamos el Bean*/</em></p>
<p align="left">package paulonline.bean;</p>
<p align="left">public class Cliente{</p>
<p align="left">private String id="";</p>
<p align="left">private String usuario="";</p>
<p align="left"><em> /*Getters and Setters*/ </em></p>
<p align="left">}</p>
<p align="left">--------------------------------</p>
<p align="left"><em>/*Creamos la Clase para properties*/ </em></p>
<p align="left">package paulonline.bean</p>
<p align="left">public class Propiedades{</p>
<p align="left">public static final String getPropiedades(){</p>
<p align="left"><em> /*Retorna el nombre del fichero properties de extensión properties</em></p>
<p align="left"><em> que será leído por ResourceBundle según JEE<br /> </em></p>
<p align="left"><em>*/ </em></p>
<p align="left">return "properties";</p>
<p align="left">}</p>
<p align="left">}</p>
<p align="left">------------------------------------</p>
<p align="left"><em>/*Creamos el ArrayList para la lista de users*/ </em></p>
<p align="left">package paulonline.lista;</p>
<p align="left">import java.io.Serializable;</p>
<p align="left">import java.util.ArrayList;</p>
<p align="left">import paulonline.bean.Cliente;</p>
<p align="left">public class ClienteLista extends ArrayList implements Serializable{</p>
<p align="left">public Cliente getListaDeClientes(int x){</p>
<p align="left">return (Cliente) get(x);</p>
<p align="left">}</p>
<p align="left">}</p>
<p align="left">------------------------------------</p>
<p align="left"><em>/*Creamos el archivo que utiliza <strong>JAVA.IO</strong>*/ </em></p>
<p align="left">package paulonline.data;</p>
<p align="left">import java.io.*;</p>
<p align="left">import java.util.Properties;</p>
<p align="left">import paulonline.bean.*;</p>
<p align="left">import paulonline.lista.ClienteLista;</p>
<p align="left">public class ClienteDato extends Propiedades{</p>
<p align="left">public ClienteDato(){</p>
<p align="left">super();</p>
<p align="left">}</p>
<p align="left">public static ClienteLista getListarClientes(){</p>
<p align="left">ClienteLista lista=new ClienteLista();</p>
<p align="left">try{</p>
<p align="left">File f=new File("/root/jdevhome/mywork/paulonline/public_html/datos/clientes");</p>
<p align="left">FileReader fr=new FileReader(f);</p>
<p align="left">BufferedReader br=new BufferedReader(fr);</p>
<p align="left">String rs=br.readLine();</p>
<p align="left">while(rs!=null){</p>
<p align="left">Cliente c=new Cliente();</p>
<p align="left">c.setId(rs.subString(0,3));</p>
<p align="left">c.setUser(rs.subString(3,50));</p>
<p align="left">lista.add(c);</p>
<p align="left">rs=br.readLine();</p>
<p align="left">}</p>
<p align="left">return lista;</p>
<p align="left">}</p>
<p align="left">catch(IOException){ return lista;  }</p>
<p align="left">catch(Exception){ return lista;  }</p>
<p align="left">}</p>
<p align="left">&nbsp;</p>
<p align="left">public static boolean getInsertarCliente(Cliente c){</p>
<p align="left">try{</p>
<p align="left">File f=new File("/root/jdevhome/mywork/paulonline/public_html");</p>
<p align="left">FileOutputStream fos=new FileOutputStream(f+"/datos/"+c.getId());</p>
<p align="left">Properties p=new Properties();</p>
<p align="left">p.put("user: "+user);</p>
<p align="left">p.store(fos,c.getUser()) ;</p>
<p align="left">fos.flush();</p>
<p align="left">fos.close();</p>
<p align="left">return true;</p>
<p align="left">}</p>
<p align="left">catch(IOException){ return false; }</p>
<p align="left">}</p>
<p align="left">}</p>
<p align="left">-----------------------------------</p>
<p align="left"><em>/*Este es el Servlet <strong>INSERTAR</strong>*/ </em></p>
<p align="left">public class InsertarClientesServlet{</p>
<p align="left">private String conforme;</p>
<p align="left">protected void processRequest(request,response){</p>
<p align="left">Cliente c=new Cliente();</p>
<p align="left">c.setId("user");</p>
<p align="left">c.setUser(request.getParameter("usuario"));</p>
<p align="left">ResourceBundle rb=getBundle(ClienteDato.getPropiedades());</p>
<p align="left">this.conforme=rb.getString("conforme");</p>
<p align="left">request.setAtribute("c",c) ;</p>
<p align="left">this.getServletContext().getRequestDispatcher(conforme).forward(request,response);</p>
<p align="left">}</p>
<p align="left">}</p>
<p align="left">-------------------</p>
<p align="left"><em>/*Este es el Servlet <strong>LISTAR</strong>*/ </em></p>
<p align="left">public class ListarClientesServlet{</p>
<p align="left">private String listaClientes;</p>
<p align="left"><em>/*doGet según el stándar Oracle JDeveloper11g*/ </em></p>
<p align="left">protected void doGet(request,response){</p>
<p align="left">ClienteLista lista=ClienteDato.getListarClientes();</p>
<p align="left">request.setAttribute("c",lista);</p>
<p align="left">ResourceBundle rb=getBundle(ClienteDato.getPropiedades());</p>
<p align="left"><em>  /*Con esto no se escriben datos en duro*/ </em></p>
<p align="left">this.listaClientes=rb.getString("listaClientes");</p>
<p align="left">this.getServletContext().getRequestDispatcher(listaClientes).forward(request,response);</p>
<p align="left">}</p>
<p align="left">}</p>
<p align="left">---------------------------------</p>
<p align="left"><em>/*Página JSF <strong>listadeClientes.jsp</strong> donde se mostrarán los datos*/</em></p>
<p align="left"><%@ page language="java"%></p>
<p align="left"><%@ page import="java.io.*,java.util.*,paulonline.bean.*"%></p>
<p align="left">&nbsp;</p>
<p align="left"><%=c.getUser()%></p>
<p align="left">---------------------------------</p>
<p align="left"><em>/*Fichero de parámetros. Con este fichero las implementaciones se hacen dinámicamente */</em></p>
<p align="left"><strong>properties.properties</strong></p>
<p align="left">conforme=/cualquierpagina.jsp</p>
<p align="left">listaClientes=listadeClientes.jsp</p>
<p align="left">email=paul_lizardo@hotmail.com <em>//para consultas</em></p>
<p align="left"><em>/*</em></p>
<p align="left"><em>Implementar con AJAX y componentes JSF, o diversas librerías, por ejemplo Struts FileUpload, y aumentar los campos del fichero, por ejemplo añadir nombres, dirección, edad, RUC.</em></p>
<p align="left"><em> El fichero puede venir desde COBOL con el nombre de user.DAT, ó user.dat., ó user.cualquierextension<br /> </em></p>
<p align="left"><em>Si se decide utilizar una Base de Datos, en lugar de un File se debe de crear un DataSource y cambiar java.io por java.sql (Connection, ResultSets y Statements), según la estructura <strong>MVC (Modelo-Vista-Controlador)</strong> de  la presente entrega, que también puede utilizarse como plantilla para aplicaciones complejas DAO y EJB3.0</em></p>
<p align="left"><em>*/</em></p>
<p><a href="http://paulonline.nireblog.com/post/2008/10/03/aplicacion-javaio-con-oracle-jdeveloper11g-en-mvc#comments">Comments</a></p>]]></description>
	<pubDate>Fri, 03 Oct 2008 02:01:54 +0100</pubDate>	</item>
	<item>
	<title>Instalación de Automatic Storage Management ASM de Oracle en Linux Red Hat</title>
	<link>http://paulonline.nireblog.com/post/2008/09/28/instalacion-de-automatic-storage-management-asm-de-oracle-en-linux-red-hat</link>
	<guid>http://paulonline.nireblog.com/post/2008/09/28/instalacion-de-automatic-storage-management-asm-de-oracle-en-linux-red-hat</guid>
		<description><![CDATA[<p align="left"><img id="image411515" class="imgcentro" src="http://files.nireblog.com/blogs4/paulonline/files/l0_f_0922oracle-openworld.jpg" alt="l0_f_0922oracle-openworld.jpg" align="middle" /> </p>
<p align="left"><em>Esta es la instalación de ASM en su propio HOME</em></p>
<p align="left">[root@localhost  ~]# mkdir /u01/asmdisks</p>
<p align="left">[root@localhost  ~]# cd /u01/asmdisks/</p>
<p align="left"><em>//Creamos los raw devices en LINUX </em></p>
<p align="left">[root@localhost asmdisks]# dd if=/dev/zero of=asm_disk1 bs=1024k count=400</p>
<p align="left">[root@localhost asmdisks]# dd if=/dev/zero of=asm_disk2 bs=1024k count=400</p>
<p align="left">[root@localhost asmdisks]# dd if=/dev/zero of=asm_disk3 bs=1024k count=400</p>
<p align="left">[root@localhost asmdisks]# dd if=/dev/zero of=asm_disk4 bs=1024k count=400</p>
<p align="left">[root@localhost asmdisks]# losetup /dev/loop1 asm_disk1</p>
<p align="left">[root@localhost asmdisks]# losetup /dev/loop2 asm_disk2</p>
<p align="left">[root@localhost asmdisks]# losetup /dev/loop3 asm_disk3</p>
<p align="left">[root@localhost asmdisks]# losetup /dev/loop4 asm_disk4</p>
<p align="left">[root@localhost asmdisks]# raw -qa</p>
<p align="left">[root@localhost asmdisks]# raw /dev/raw/raw1 /dev/loop1</p>
<p align="left">[root@localhost asmdisks]# raw /dev/raw/raw2 /dev/loop2</p>
<p align="left">[root@localhost asmdisks]# raw /dev/raw/raw3 /dev/loop3</p>
<p align="left">[root@localhost asmdisks]# raw /dev/raw/raw4 /dev/loop4</p>
<p align="left">[root@localhost asmdisks]# raw -qa</p>
<p align="left"><em>//Ahora tenemos 4 raw devices que serán usados para crear los ASM disks </em></p>
<p align="left">/dev/raw/raw1: bound to major 7, minor 1</p>
<p align="left">/dev/raw/raw2: bound to major 7, minor 2</p>
<p align="left">/dev/raw/raw3: bound to major 7, minor 3</p>
<p align="left">/dev/raw/raw4: bound to major 7, minor 4</p>
<p align="left"><em>/*</em></p>
<p align="left"><em>Ahora creamos una cuenta ASM que será utilizada para crear la instancia de AS. Abrimos otra consola. </em></p>
<p align="left"><em>*/</em></p>
<p align="left">[root@localhost  ~]# /usr/sbin/groupadd asmdba</p>
<p align="left">[root@localhost  ~]# useradd oracleasm -g oinstall -G asmdba</p>
<p align="left">[root@localhost  ~]#passwd oracleasm</p>
<p align="left"><em>//password: oracle </em></p>
<p align="left">[root@localhost  ~]# vi /etc/group/</p>
<p align="left"><em>//poner como oinstall:x:503:oracleasm </em></p>
<p align="left">[root@localhost  ~]# mkdir -p /u01/app</p>
<p align="left"><em>//damos los permisos </em></p>
<p align="left">[root@localhost  ~]# chown -R oracle:oinstall /u01/app</p>
<p align="left">[root@localhost  ~]# chmod -R 775 /u01/app</p>
<p align="left"><em>//seteamos los parámetros</em></p>
<p align="left">[root@localhost  ~]# vi /home/oracleasm/.bash_profile</p>
<p align="left"><em>//ponemos como:</em></p>
<p align="left">#User specific environment and startup programs</p>
<p align="left">unset PATH; export PATH</p>
<p align="left">unset USERNAME</p>
<p align="left">PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin</p>
<p align="left">umask 022</p>
<p align="left">ORACLE_BASE=/u01/app/oracle</p>
<p align="left">ORACLE_HOME=$ORACLE_BASE/product/10.2.0/asm_1</p>
<p align="left">ORACLE_SID=+ASM</p>
<p align="left">PATH=$ORACLE_HOME/bin:$PATH</p>
<p align="left">export PATH</p>
<p align="left">export ORACLE_BASE ORACLE_HOME ORACLE_SID</p>
<p align="left">[root@localhost  ~]# cd /u01/asmdisks/</p>
<p align="left">[root@localhost asmdisks]# chown oracleasm:asmdba /dev/raw/raw1</p>
<p align="left">[root@localhost asmdisks]# chown oracleasm:asmdba /dev/raw/raw2</p>
<p align="left">[root@localhost asmdisks]# chown oracleasm:asmdba /dev/raw/raw3</p>
<p align="left">[root@localhost asmdisks]# chown oracleasm:asmdba /dev/raw/raw4</p>
<p align="left">[root@localhost asmdisks]# xhost +</p>
<p align="left">[root@localhost asmdisks]# su - oracleasm</p>
<p align="left">[oracleasm@localhost  ~]$ cd /u01/database</p>
<p align="left">[oracleasm@localhost  ~]$ ./runInstaller</p>
<p align="center"><strong>...Passed ...</strong></p>
<p align="left"><em>//Click en Advanced Installation y Next</em></p>
<p align="left"><em>//Inventory Details, Next</em></p>
<p align="left"><em>//Select Installation Type, poner Enterprise Edition y Next </em></p>
<p align="left"><em>//Home Details, cambiar OraDb10g_home1 a OraDb10g_asmhome. Next</em></p>
<p align="left"><em>//Next</em></p>
<p align="left"><em>//Yes (Opcional)</em></p>
<p align="left"><em>//Configuration Option , elegir ASM y poner dos veces el password. Next</em></p>
<p align="left"><em>//Configure ASM, elegir External y seleccionar todos los check boxes. Next</em></p>
<p align="left"><em>//Privileged Operating System Groups, cambiar oinstall por asmdba. Next </em></p>
<p align="left"><em>//Install</em></p>
<p align="left"><em>//Seguir las instrucciones de Execute Configuration scripts. Abrimos ina consola en root, cuando terminamos hacemos click en OK<br /> </em></p>
<p align="left"><em>//En la consola root ejecutamos ps - ef | grep ASM para verificar</em></p>
<p align="left">[root@localhost asmdisks]# ps - ef | grep <strong>ASM</strong></p>
<p align="left"><em>//Ejecutamos sqlplus </em></p>
<p align="left">[oracleasm@localhost ~]$sqlplus "/ as sysdba";</p>
<p align="left"><strong>SQL></strong> SELECT name FROM v$asm_diskgroup;</p>
<p align="left"><strong>SQL></strong> SELECT name FROM v$asm_disk;</p>
<p align="left">&nbsp;</p>
<p><a href="http://paulonline.nireblog.com/post/2008/09/28/instalacion-de-automatic-storage-management-asm-de-oracle-en-linux-red-hat#comments">Comments</a></p>]]></description>
	<pubDate>Sun, 28 Sep 2008 23:33:21 +0100</pubDate>	</item>
	<item>
	<title>Carga Masiva de Datos con Java</title>
	<link>http://paulonline.nireblog.com/post/2008/09/28/carga-masiva-de-datos-con-java</link>
	<guid>http://paulonline.nireblog.com/post/2008/09/28/carga-masiva-de-datos-con-java</guid>
		<description><![CDATA[<p align="left"><em>Este programa crea un archivo llamado script.sql con 1 000 000 de sentencias INSERT, la cantidad de INSERT es configurable.</em></p>
<p align="left">&nbsp;</p>
<p align="left">import java.io.File;</p>
<p align="left">import java.io.FileInputStream;</p>
<p align="left">import java.io.IOException;</p>
<p align="left">import java.util.Hashtable;</p>
<p align="left">class CargaMasiva{</p>
<p align="left">public static void main(String[] args){</p>
<p align="left">try{</p>
<p align="left">File f=new File("/u01/app.oracle/product/10.2.0/db_1/<strong>script.sql</strong>");</p>
<p align="left">FileOutputSteam fos=new FileOutputStream(f);</p>
<p align="left">f.createNewFile();</p>
<p align="left">if(f.canWrite()){</p>
<p align="left">Hashtable ht=new Hashtable();</p>
<p align="left"><em>//Aquí se configura la cantidad de registros INSERT </em></p>
<p align="left">String[] foo=new String[<strong>1000000</strong>];</p>
<p align="left"><em>//Este es el objeto que representa la tabla </em></p>
<p align="left">Customer c=new Customer();</p>
<p align="left">for(int i=0;i</p>
<p align="left"><em>      /*Guarda en el array los inserts. Aquí se puede añadir los registros de   una tabla mediante POO*/</em></p>
<p align="left">foo[i]=</p>
<p align="left">"<strong>INSERT INTO CUSTOMER(CUSTOMER_ID) VALUES('</strong>"+i+"<strong>');</strong>\n";</p>
<p align="left">ht.put(i,foo[i]);</p>
<p align="left">}</p>
<p align="left">c.setX(foo);</p>
<p align="left">//Lee el array y los escribe en el archivo script.sql</p>
<p align="left">for(int i=0;i</p>
<p align="left">byte[] b=foo[i].getBytes();</p>
<p align="left">fos.write(b);</p>
<p align="left">}</p>
<p align="left">}</p>
<p align="left">}</p>
<p align="left">catch(IOException ioe){ ioe.getMessage(); }</p>
<p align="left">}</p>
<p align="left"><em>//Este es el bean que representa la tabla</em></p>
<p align="left">class <strong>Customer</strong>(){</p>
<p align="left">private String[] x;</p>
<p align="left">public String[] getX(){</p>
<p align="left">return x;</p>
<p align="left">}</p>
<p align="left">public void setX(String[] _x){</p>
<p align="left">this.x=_x;</p>
<p align="left">return;</p>
<p align="left">}</p>
<p align="left">}</p>
<p align="left">}</p>
<p align="left"><em>/*</em></p>
<p align="left"><em>Se puede añadir más métodos y variables al Bean, por ejemplo :</em></p>
<p align="left"><em>public String nombre="";</em></p>
<p align="left"><em>public int edad=0;</em></p>
<p align="left"><em>private Date fecha;</em></p>
<p align="left"><em>Para hacerlo con <strong>PL /SQL</strong> se debe revisar la librería <strong>UTL_FILE</strong>, que lee y escribe archivos de PL/SQL y de sistema operativo.</em></p>
<p align="left"><em> También se puede revisar el método <strong>INSERT SELECT</strong> de <strong>ORACLE</strong>. Por ejemplo:</em></p>
<p align="left">insert into depto80 (select * from employees where department_id=80);</p>
<p align="left"><em>ó</em></p>
<p align="left">insert into just_names(first,last) (select first_name, last_name from employees) </p>
<p align="left"><em>*/ </em> </p>
<p><a href="http://paulonline.nireblog.com/post/2008/09/28/carga-masiva-de-datos-con-java#comments">Comments</a></p>]]></description>
	<pubDate>Sun, 28 Sep 2008 20:01:10 +0100</pubDate>	</item>
	<item>
	<title>Instalación de Oracle10gR2 en Linux Red Hat Enterprise</title>
	<link>http://paulonline.nireblog.com/post/2008/09/23/instalacion-de-oracle10gr2-en-linux-red-hat-enterprise</link>
	<guid>http://paulonline.nireblog.com/post/2008/09/23/instalacion-de-oracle10gr2-en-linux-red-hat-enterprise</guid>
		<description><![CDATA[<p align="left"><img id="image412389" src="http://files.nireblog.com/blogs4/paulonline/files/corp_11_411.jpg" alt="corp_11_411.jpg" align="right" />[root@localhost  ~]# groupdel dba</p>
<p align="left">[root@localhost  ~]# groupdel oper</p>
<p align="left">[root@localhost  ~]# userdel oracle</p>
<p align="left">[root@localhost  ~]# groupdel oinstall</p>
<p align="left">[root@localhost  ~]# /usr/sbin/groupadd dba</p>
<p align="left">[root@localhost  ~]# /usr/sbin/groupadd oper</p>
<p align="left">[root@localhost  ~]# /usr/sbin/groupadd oinstall</p>
<p align="left">[root@localhost  ~]# mkdir -p /u01/app</p>
<p align="left">[root@localhost  ~]# /usr/sbin/useradd -g oinstall -G dba,oper -d /u01/app/ oracle</p>
<p align="left">[root@localhost  ~]# passwd oracle <em><--aquí le ponemos password 2 veces</em></p>
<p align="left">[root@localhost  ~]# vi /etc/group   <em><--aquí añadimos :oracle a oinstall</em></p>
<p align="left">[root@localhost  ~]# /usr/sbin/usermod -g oinstall -G dba,oper -d /u01/app/ oracle</p>
<p align="left">[root@localhost  ~]# chwon -R oracle:oinstall /u01/app/</p>
<p align="left">[root@localhost  ~]# chmod -R 775 /u01/app</p>
<p align="left">[root@localhost  ~]# xhost +</p>
<p align="left">[root@localhost  ~]# su - oracle</p>
<p align="left">[oracle@localhost  ~]# cd /u01/database/ <--aquí buscamos el instalador</p>
<p align="left">[oracle@localhost database]$ ./runInstaller</p>
<p align="left">...Passed ...<em>se siguen las instrucciones</em></p>
<p align="left">[oracle@localhost database]$ cd ..</p>
<p align="left">[oracle@localhost u01]$ cd app/oracle/product/10.2.0/db_1/bin</p>
<p align="left">[oracle@localhost bin]$ ./dbca</p>
<p align="left">.<em>..Aquí instala la Base de Datos...se siguen las instrucciones</em></p>
<p align="left">[oracle@localhost db_1]$ cd ./../../../../..</p>
<p align="left">[oracle@localhost app]$ vi .bash_profile</p>
<p align="left">...Aquí se setea ORACLE_HOME, ORACLE_BASE y ORACLE_SID...</p>
<p align="left">export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1/</p>
<p align="left">export ORACLE_BASE=/u01/app/oracle/product/10.2.0/db_1/</p>
<p align="left">export ORACLE_SID=orcl</p>
<p align="left">export PATH=$PATH:$ORACLE_HOME/bin</p>
<p align="left"><em>... En otra consola </em></p>
<p align="left">[root@localhost ~]# su - oracle</p>
<p align="left">[oracle@localhost ~]$ lsnrctl start;</p>
<p align="left">[oracle@localhost ~]$ sqlplus "/ as sysdba";</p>
<p align="left"><strong>SQL> </strong></p>
<p align="left">[oracle@localhost ~]$ cd /u01/app/oracle/product/10.2.0/db_1/bin</p>
<p align="left">[oracle@localhost bin]$ ./rman</p>
<p align="left"><strong>RMAN> </strong></p>
<p align="left">&nbsp;</p>
<p align="left"><em>Para finalizar en el browser escriben:</em></p>
<p align="left">http://localhost.localdomain:1158/em</p>
<p><a href="http://paulonline.nireblog.com/post/2008/09/23/instalacion-de-oracle10gr2-en-linux-red-hat-enterprise#comments">Comments</a></p>]]></description>
	<pubDate>Tue, 23 Sep 2008 20:45:04 +0100</pubDate>	</item>
	<item>
	<title>Teorema de Pitágoras en Java</title>
	<link>http://paulonline.nireblog.com/post/2008/09/22/teorema-de-pitagoras-en-java</link>
	<guid>http://paulonline.nireblog.com/post/2008/09/22/teorema-de-pitagoras-en-java</guid>
		<description><![CDATA[<p align="left">Aquí un sencillo programa en POO:</p>
<div align="left"></div>
<p align="left"><em>/*<br /> Este programa muestra como utilizar <strong>arreglos a traves de un bean</strong>.<br /> El usuario tiene que ingresar dos valores y el programa<br /> arroja los valores y la hipotenusa.<br /> */</em><br /> package matematica;<br /> import java.io.BufferedReader;<br /> import java.io.InputStreamReader;<br /> import java.io.IOException;</p>
<div align="left"></div>
<p align="left">class Pitagoras{<br /> <em>//Debemos utilizar el IOException</em><br /> public static void main(String[] args) throws IOException{<br /> System.out.println("TEOREMA DE PITAGORAS");<br /> <em>//Definimos el array</em><br /> double[] cateto=new double[2];<br /> <em>//Pedimos los valores por consola</em><br /> InputStreamReader isr=new InputStreamReader(System.in);<br /> BufferedReader br=new BufferedReader(isr);<br /> for(int i=0;i<br /> System.out.println("Ingrese cateto "+i+" ");<br /> cateto[i]=Double.parseDouble(br.readLine());<br /> }<br /> <em>//Creamos el objeto</em><br /> Triangulo t=new Triangulo();<br /> <em>//escribimos los catetos</em><br /> t.setLado(cateto);<br /> <em>//Leemos los catetos</em><br /> cateto=t.getLado();<br /> <em>//Mostramos los catetos</em><br /> for(int i=0;i<br /> System.out.println("cateto "+i+" = "+cateto[i]);<br /> }<br /> <em>//Referencia al método que calcula la hipotenusa</em><br /> double hipotenusa=t.getHipotenusa(cateto[0],cateto[1]);<br /> <em>//mostramos la hipotenusa</em><br /> System.out.println("La hipotenusa es "+hipotenusa);<br /> }<br /> }</p>
<div align="left"></div>
<p align="left"><em>//Este es el bean</em><br /> class Triangulo{<br /> private double[] lado;<br /> public double[] getLado(){<br /> return lado;<br /> }<br /> public void setLado(double[] _lado){<br /> this.lado=_lado;<br /> }<br /> <em>//Este método es el que calcula la hipotenusa</em><br /> public double getHipotenusa(double x, double y){<br /> return Math.sqrt(Math.pow(x,2)+Math.pow(y,2));<br /> }<br /> }</p>
<div align="left"></div>
<p align="left">También se puede implementar el cálculo para hallar el área y las funciones trigonométricas, añadiéndole métodos al bean. Por ejemplo:</p>
<div align="left"></div>
<p align="left">public double getArea(double x, double y){<br /> return (x*y)/2; <em>//Base por altura entre dos</em><br /> }<br /> public double getTangente(double x, double y){<br /> <em> /*Esto para el ángulo de elevación. Puede haber otras<br /> formas de hallar la tangente a través de los catetos o por medio de<br /> la clase Math.<br /> */</em><br /> return (y/x);<br /> }</p>
<div align="left"></div>
<p align="left">Se puede asimismo separar el bean de los nuevos métodos creando una nueva clase y asimismo presentarlo por web en una <strong>página JSP ó trabajarlo con SWING</strong>.<strong> </strong></p>
<p><a href="http://paulonline.nireblog.com/post/2008/09/22/teorema-de-pitagoras-en-java#comments">Comments</a></p>]]></description>
	<pubDate>Mon, 22 Sep 2008 03:27:49 +0100</pubDate>	</item>
</channel>	
</rss>
 
