elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Temas
Páginas: [1] 2
1  Programación / Java / Actualizar MYSQL desde evento JAVA en: 6 Abril 2014, 14:10 pm
Hola buenos dias mi gente, estoy teniendo problema para actualizar mi base de datos mysql desde un envento serial.

El tema seria el siguiente: estoy recogiendo datos desde otro sistema mediante un evento serial, los datos se estan mostrando a la perfeccion, pero cuando estos datos llegan trato de llamar al metodo insert (mi metodo de insert en mysql) y nunca llega a este metodo. el codigo es el siguiente.

Código:
SerialPortEventListener evento = new SerialPortEventListener() {
                    @Override
                        public void serialEvent(SerialPortEvent spe) {
                            if(arduino.MessageAvailable()==true)
                            {
                                concatenar = concatenar + arduino.PrintMessage();                       
                            }
                                 if (concatenar.length()>20)
                                 {
                                    data = concatenar.split("!");
                                        for (inicio=0; inicio<data.length; inicio++)
                                        {
                                            System.out.println(data[inicio]);
                                        }     
                                     db_conexion obj = new db_conexion();
                                             try {
                                             obj.db_conexion();
                                              obj.insertar(data);         
                                              System.out.println("aka");
                                              Thread.sleep(60000);
                                             } catch (SQLException ex) {
                                             Logger.getLogger(ventana_p.class.getName()).log(Level.SEVERE, null, ex);
                                             }
                                            termo.setValue(Double.parseDouble(data[4]));//Integer.parseInt(data[3]));
                                    txt_temperatura_actual.setText((data[4])+"º C");
                                    segundosDataset = new DefaultValueDataset(Double.parseDouble(data[1]));
                                    dialplot_velocidad.setDataset(0, segundosDataset);
                                    txt_velocidad_actual.setText(data[1]+" km/h");
                                    indice = Integer.parseInt(data[5]); // utilizo la misma variable indice
                                    dataset = new DefaultValueDataset(indice/133.322368);
                                    dialplot_presion_at.setDataset(dataset);
                                    txt_humedad_relativa.setText(data[3]+" %");
                                   
                                    indice = Integer.parseInt(data[2]);//{"1","2","3","4","5","6","7","8"};//{"O","NO","N","SO","NE","S","SE","E"}                             
                                 
                                    if(indice== 3)
                                       {     
                                            System.out.println ("--->N");
                                            panel_de_vel_viento.setIcon(Imagen[0]);
                                       }
                                       if(indice== 5)
                                       {     
                                            System.out.println ("--->NE");
                                            panel_de_vel_viento.setIcon(Imagen[1]);
                                       }
                                       if(indice== 2)
                                       {     
                                            System.out.println ("--->NO");
                                            panel_de_vel_viento.setIcon(Imagen[2]);
                                       }
                                       if(indice== 8)
                                       {     
                                            System.out.println ("--->E");
                                            panel_de_vel_viento.setIcon(Imagen[3]);
                                       }
                                       if(indice== 1)
                                       {     
                                            System.out.println ("--->O");
                                            panel_de_vel_viento.setIcon(Imagen[4]);
                                       }
                                       if(indice== 6)
                                       {     
                                            System.out.println ("--->S");
                                            panel_de_vel_viento.setIcon(Imagen[5]);
                                       }
                                       if(indice== 7)
                                       {     
                                            System.out.println ("--->SE");
                                            panel_de_vel_viento.setIcon(Imagen[6]);
                                       }
                                       if(indice== 4)
                                       {     
                                            System.out.println ("--->SO");
                                            panel_de_vel_viento.setIcon(Imagen[7]);
                                       }
                                          System.out.println(concatenar);
                                          System.out.println(concatenar.length());
                                          concatenar ="";
                                  }                                       
                throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
              } // fin del metodo
             
        }; //fin del evento

colocare mi metodo insert pero segun mis pruebas el metodo insert esta bien, porque lo llamo de la misma forma desde un boton y este si funciona. pero bueno aqui esta:

Código:
public void insertar( String data[]) throws SQLException
{
       
        prepared=conexion.prepareStatement("SELECT max(da_id_data) FROM `te_data`");
        tabla=prepared.executeQuery();
        metadata=tabla.getMetaData();
        while (tabla.next())
        {           
           filas =new Object[metadata.getColumnCount()];
            for (int i = 0; i < filas.length; i++)
                filas[i]=tabla.getObject(i+1);               
        }
        String convert = String.valueOf(filas[0]);
        int siguiente = Integer.parseInt(convert)+1;
       
Calendar cal = Calendar.getInstance();
//        java.sql.Timestamp date = new java.sql.Timestamp(new java.util.Date().getTime());

PreparedStatement pstmt = null;
    try {
      String query = "insert into te_data (da_id_usuario, da_id_data, da_fecha, da_temperatura, da_humedad, da_velocidad, da_direccion, da_presion_at) values(?, ?, ?, ?, ?, ?, ?, ?)";

      // create PrepareStatement object
      pstmt = conexion.prepareStatement(query);
      pstmt.setInt(1,1);
      pstmt.setInt(2, siguiente);
      pstmt.setTimestamp(3, new java.sql.Timestamp(cal.getTimeInMillis()));
      pstmt.setFloat(4, 24);//Float.parseFloat(data[4]));
      pstmt.setInt(5,12);//Integer.parseInt(data[3]));
      pstmt.setDouble(6, 23);//Double.parseDouble(data[1]) );
      pstmt.setString(7,"S");// data[2]);
      pstmt.setDouble(8, 762);//Double.parseDouble(data[5]));
     
      int rowCount = pstmt.executeUpdate();
      System.out.println("rowCount=" + rowCount);
    } finally {
      pstmt.close();
      conexion.close();
   }
}//fin del metodo



si alguien ha actualizado mysql desde un evento serial ayuda.

OJO EL MÉTODO ESTA ACTUALIZANDO DESDE UN BOTÓN, mas no cuando ocurre el envento serial.

Saludos y gracias de ante mano por cualquiera ayuda.
2  Informática / Electrónica / Arduino (Sensor de temperatura y presion Bmp085 o Gy-65) Ayuda en: 23 Abril 2013, 03:54 am
Hola Hackers, espero como siempre todos este bien de salud y sino bueno al menos con animo de aprender cada dia algo nuevo.

Esta vez he recurido a ustedes por el simple hecho de que me he comprado un sensor barometrico bmp085, el problema es que al conectarlo a mi arduino Mega 2560 no me envia mensaje al pc.

Adjunto Codigo:
Código:

#include <Wire.h>

#define BMP085_ADDRESS 0x77  // I2C address of BMP085

const unsigned char OSS = 0;  // Oversampling Setting

// Calibration values
int ac1;
int ac2;
int ac3;
unsigned int ac4;
unsigned int ac5;
unsigned int ac6;
int b1;
int b2;
int mb;
int mc;
int md;

// b5 is calculated in bmp085GetTemperature(...), this variable is also used in bmp085GetPressure(...)
// so ...Temperature(...) must be called before ...Pressure(...).
long b5;

short temperature;
long pressure;

// Use these for altitude conversions
const float p0 = 101325;     // Pressure at sea level (Pa)
float altitude;

void setup()
{
  Serial.begin(9600);
  Wire.begin();
  bmp085Calibration();
}

void loop()
{
  temperature = bmp085GetTemperature(bmp085ReadUT());
  pressure = bmp085GetPressure(bmp085ReadUP());
  altitude = (float)44330 * (1 - pow(((float) pressure/p0), 0.190295));

  Serial.print("Temperature: ");
  Serial.print(temperature, DEC);
  Serial.println(" *0.1 deg C");
  Serial.print("Pressure: ");
  Serial.print(pressure, DEC);
  Serial.println(" Pa");
  Serial.print("Altitude: ");
  Serial.print(altitude, 2);
  Serial.println(" m");
  Serial.println();
 
  delay(1000);
}

// Stores all of the bmp085's calibration values into global variables
// Calibration values are required to calculate temp and pressure
// This function should be called at the beginning of the program
void bmp085Calibration()
{
  ac1 = bmp085ReadInt(0xAA);
  ac2 = bmp085ReadInt(0xAC);
  ac3 = bmp085ReadInt(0xAE);
  ac4 = bmp085ReadInt(0xB0);
  ac5 = bmp085ReadInt(0xB2);
  ac6 = bmp085ReadInt(0xB4);
  b1 = bmp085ReadInt(0xB6);
  b2 = bmp085ReadInt(0xB8);
  mb = bmp085ReadInt(0xBA);
  mc = bmp085ReadInt(0xBC);
  md = bmp085ReadInt(0xBE);
}

// Calculate temperature given ut.
// Value returned will be in units of 0.1 deg C
short bmp085GetTemperature(unsigned int ut)
{
  long x1, x2;
 
  x1 = (((long)ut - (long)ac6)*(long)ac5) >> 15;
  x2 = ((long)mc << 11)/(x1 + md);
  b5 = x1 + x2;

  return ((b5 + 8)>>4); 
}

// Calculate pressure given up
// calibration values must be known
// b5 is also required so bmp085GetTemperature(...) must be called first.
// Value returned will be pressure in units of Pa.
long bmp085GetPressure(unsigned long up)
{
  long x1, x2, x3, b3, b6, p;
  unsigned long b4, b7;
 
  b6 = b5 - 4000;
  // Calculate B3
  x1 = (b2 * (b6 * b6)>>12)>>11;
  x2 = (ac2 * b6)>>11;
  x3 = x1 + x2;
  b3 = (((((long)ac1)*4 + x3)<<OSS) + 2)>>2;
 
  // Calculate B4
  x1 = (ac3 * b6)>>13;
  x2 = (b1 * ((b6 * b6)>>12))>>16;
  x3 = ((x1 + x2) + 2)>>2;
  b4 = (ac4 * (unsigned long)(x3 + 32768))>>15;
 
  b7 = ((unsigned long)(up - b3) * (50000>>OSS));
  if (b7 < 0x80000000)
    p = (b7<<1)/b4;
  else
    p = (b7/b4)<<1;
   
  x1 = (p>>8) * (p>>8);
  x1 = (x1 * 3038)>>16;
  x2 = (-7357 * p)>>16;
  p += (x1 + x2 + 3791)>>4;
 
  return p;
}

// Read 1 byte from the BMP085 at 'address'
char bmp085Read(unsigned char address)
{
  unsigned char data;
 
  Wire.beginTransmission(BMP085_ADDRESS);
  Wire.write(address);
  Wire.endTransmission();
 
  Wire.requestFrom(BMP085_ADDRESS, 1);
  while(!Wire.available())
    ;
   
  return Wire.read();
}

// Read 2 bytes from the BMP085
// First byte will be from 'address'
// Second byte will be from 'address'+1
int bmp085ReadInt(unsigned char address)
{
  unsigned char msb, lsb;
 
  Wire.beginTransmission(BMP085_ADDRESS);
  Wire.write(address);
  Wire.endTransmission();
 
  Wire.requestFrom(BMP085_ADDRESS, 2);
  while(Wire.available()<2)
    ;
  msb = Wire.read();
  lsb = Wire.read();
 
  return (int) msb<<8 | lsb;
}

// Read the uncompensated temperature value
unsigned int bmp085ReadUT()
{
  unsigned int ut;
 
  // Write 0x2E into Register 0xF4
  // This requests a temperature reading
  Wire.beginTransmission(BMP085_ADDRESS);
  Wire.write(0xF4);
  Wire.write(0x2E);
  Wire.endTransmission();
 
  // Wait at least 4.5ms
  delay(5);
 
  // Read two bytes from registers 0xF6 and 0xF7
  ut = bmp085ReadInt(0xF6);
  return ut;
}

// Read the uncompensated pressure value
unsigned long bmp085ReadUP()
{
  unsigned char msb, lsb, xlsb;
  unsigned long up = 0;
 
  // Write 0x34+(OSS<<6) into register 0xF4
  // Request a pressure reading w/ oversampling setting
  Wire.beginTransmission(BMP085_ADDRESS);
  Wire.write(0xF4);
  Wire.write(0x34 + (OSS<<6));
  Wire.endTransmission();
 
  // Wait for conversion, delay time dependent on OSS
  delay(2 + (3<<OSS));
 
  // Read register 0xF6 (MSB), 0xF7 (LSB), and 0xF8 (XLSB)
  Wire.beginTransmission(BMP085_ADDRESS);
  Wire.write(0xF6);
  Wire.endTransmission();
  Wire.requestFrom(BMP085_ADDRESS, 3);
 
  // Wait for data to become available
  while(Wire.available() < 3)
    ;
  msb = Wire.read();
  lsb = Wire.read();
  xlsb = Wire.read();
 
  up = (((unsigned long) msb << 16) | ((unsigned long) lsb << 8) | (unsigned long) xlsb) >> (8-OSS);
 
  return up;
}



Este codigo a sido copiado de la internet. lo he revisado y con el poco conocimiento que tengo de programacion en Arduino, creo que esta bien.
En realidad me compila sin errores pero cuando lo cargo a mi placa no manda señal, la placa esta buena comprobada 100%, el barometro no tengo idea si funciona me llego de china esta mañana y soy de panama. 1 mes me tardo alguna idea de como probar este barometro usa salidas analogicas.

he notado que mi barometro dice gy-65 !! creo que esto tambien puede estar afectando no dice bmp085 aunq esta fue la especificacion que pedi.

Adjunto guia:
Citar
3  Informática / Electrónica / Micro Controlador MC68HC908JK3 - JL3 !!! Necesito Guia de programacion. en: 28 Septiembre 2012, 14:38 pm
Hola que tal amigos.

Quisiera saber si alguno tiene una guia basica de como programar estos micro.

Pasa que estoy dando circuitos logicos, pero en esta materia no llegamos a este nivel pero si escuche al profesor hablar de este tema y pues ami todo esto me interesa si alguien tiene algunas guias o algo que me pueda ayudar porfavor compartanlas con migo.

Lo unico que he encontrado al respecto es: http://www.bairesrobotics.com.ar/data/kit908.pdf

Aora mismo estoy realizando el programador con unos muchachos de la facultad de Electrica.
4  Programación / Java / Problema para pasar datos entre formularios NETBEANS en: 8 Julio 2012, 05:51 am
Hola amigo tengo 2 formularios que se llaman:

* Busqueda_de_empleados() // donde me aparecen las generales de un empleado en diferentes jTextField y un boton modificar

* Modificar_datos() ///este sale cuando le doy a modificar del formulario Busqueda_de_empleado  aca necesito que me salgan todas las generales iguales quen en el formulario Busqueda_de_empleado  pero me manda error.


he intentado creando un objeto :

Código:
Busqueda_de_empleado obj = new Busqueda_de_empleado();


y luego alando los jTextField del formularo Busqueda_de_empleado. pero no me funciona.

de la siguiente manera:

Código:
jTextField1.setText(obj.jTextField1.getText());

tratando de que el jTextField1 del formulario Modificar_datos() tome el valor del jTextField1 del formulario Busqueda_de_empleado() pero no funca alguna idea.

Todo lo que encontre en san goole hace referencia a eso, pero no llego a aclara la duda !!!
 :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-(
5  Programación / Desarrollo Web / Perfil de un Programador Web. en: 2 Julio 2012, 21:17 pm
Hola un saludo y un gran abrazo  a todos.

He visto en algunas paginas de trabajo que lo que mas se requiere son programadores web, donde algunas especifican todo los que debe saber la persona que aspire al trabajo.
algunos solo dicen programador web otros dicen diseñador web. Entonces los términos me están matando. quisiera saber:
1-¿La diferencia entre diseñador y programador web?
2-¿Las empresas usan programadores y diseñadores o 1 persona tienen que ejecutar el mismo rol?
3-¿Cual es el perfil de un programador web? (perfil digo los conocimientos basicos que deebe tener.)


Gracias de ante mano!
6  Programación / Desarrollo Web / Video_Tutorial_de_Culebrita_(Snake)_HTML5_(canvas)_y_Javascript en: 30 Junio 2012, 17:10 pm
Hola que tal amigos no soy un experto en javascript, pero aprendiendo y despues de teclear como un loco he intentado medir mi nivel y querido compartido, hoy en dia he realizado un SNAKE o culebrita con la nueva etiqueta Canvas de html y con javascript espero que les guste !!! Saludos.

Parte 1:



Parte 2:



Parte 3:



Comenten constructiva mente por favor.

Mi canal en Youtube:
http://www.youtube.com/user/lluvplay?feature=mhee
 ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::)
7  Programación / Desarrollo Web / Recargar colunna de una Tabla sin refrescar la pagina web. en: 25 Junio 2012, 14:13 pm
Hola buenos dias respetados expertos !!
Hoy en dia me he levanto con otro problema esta ves en el desarrollo web.
Lo que yo quiero es pasar el valor calculado en mi funcion javascript a mi index.hmtl sin necesidad de recagar la pagina !!
En concreto muchos le dicen AJAX !! nose si mi concepto esta errado pero en realidad ajax trabaja asiendo peticiones del servidor yo simplente quiero hacer peticiones del cliente !!! en concreto. mi codigo es el siguiente.

Código
  1. <title>Mercado Virtual</title>
  2. <script type="text/javascript" src="codigo/programa.js"></script>
  3. </head>
  4. <div id="todo">
  5. <header><h1>Mercado Virtual</h1></header>
  6. <section>
  7. <article>
  8. <table border="2">
  9. <tr>
  10.  
  11. <td>
  12. <img src="frutas/naranja.jpg" onclick="calculando('naranja')"/>
  13. </td>
  14. <td>
  15. <img src="frutas/mango.jpg" onclick="calculando('mango')"/>
  16. </td>
  17. <td>
  18. <img src="frutas/papaya.jpg" onclick="calculando('papaya')"/>
  19. </td>
  20. <td>
  21. <img src="frutas/guineo.jpg" onclick="calculando('guineo')"/>
  22. </td>
  23. <td>
  24. <img src="frutas/limon.jpg" onclick="calculando('limon')"/>
  25. </td>
  26. </tr>
  27. <tr>
  28. <td>
  29. <img src="frutas/yuca.jpg" onclick="calculando('yuca')"/>
  30. </td>
  31. <td>
  32. <img src="frutas/ñame.jpg" onclick="calculando('name')"/>
  33. </td>
  34. <td>
  35. <img src="frutas/lechuga.jpg" onclick="calculando('lechuga')"/>
  36. </td>
  37. <td>
  38. <img src="frutas/zanahoria.jpg" onclick="calculando('zanahoria')"/>
  39. </td>
  40. <td>
  41. <img src="frutas/otoe.jpg" onclick="calculando('otoe')"/>
  42. </td>
  43. </tr>
  44. <table id="segunda" border="2">
  45. <tr>
  46. <td>
  47. Producto
  48. </td>
  49. <td>
  50. Precio
  51. </td>
  52. <td>
  53. Cantidad
  54. </td>
  55. </tr>
  56. <tr>
  57. <td>
  58. Naranja
  59. </td>
  60. <td>
  61. 0.35
  62. </td>
  63. <td>
  64.  
  65. </td>
  66. </tr>
  67. <tr>
  68. <td>
  69. Mango
  70. </td>
  71. <td>
  72. 0.55
  73. </td>
  74. <td>
  75.  
  76. </td>
  77. </tr>
  78. <tr>
  79. <td>
  80. Papaya
  81. </td>
  82. <td>
  83. 0.55
  84. </td>
  85. <td>
  86.  
  87. </td>
  88. </tr>
  89. <tr>
  90. <td>
  91. Guineo
  92. </td>
  93. <td>
  94. 0.55
  95. </td>
  96. <td>
  97.  
  98. </td>
  99. </tr>
  100. <tr>
  101. <td>
  102. Limon
  103. </td>
  104. <td>
  105. 0.55
  106. </td>
  107. <td>
  108.  
  109. </td>
  110. </tr>
  111. <tr>
  112. <td>
  113. Yuca
  114. </td>
  115. <td>
  116. 0.55
  117. </td>
  118. <td>
  119.  
  120. </td>
  121. </tr>
  122. <tr>
  123. <td>
  124. Ñame
  125. </td>
  126. <td>
  127. 0.55
  128. </td>
  129. <td>
  130.  
  131. </td>
  132. </tr>
  133. <tr>
  134. <td>
  135. Lechuga
  136. </td>
  137. <td>
  138. 0.55
  139. </td>
  140. <td>
  141.  
  142. </td>
  143. </tr>
  144. <tr>
  145. <td>
  146. Zanahoria
  147. </td>
  148. <td>
  149. 0.55
  150. </td>
  151. <td>
  152. <label id="zona"></label>
  153. </td>
  154. </tr>
  155. <tr>
  156. <td>
  157. otoe
  158. </td>
  159. <td>
  160. 0.55
  161. </td>
  162. <td>
  163.  
  164. </td>
  165. </tr>
  166. </article>
  167. </section>
  168. </div>
  169. </body>
  170. </html>

Código
  1. // productos de la primera colunna
  2. var naranja=0;
  3. var mango=0;
  4. var limon=0;
  5. var guineo=0;
  6. var papaya=0;
  7. // productos de la segunda colunna
  8. var yuca=0;
  9. var zanahoria=0;
  10. var name=0;
  11. var lechuga=0;
  12. var otoe=0;
  13. function calculando(n)
  14. {
  15.  
  16.  
  17. // comensamos a contar cuantas veces selecciona el producto el cliente.
  18. if(n=='naranja')
  19. naranja+=1;
  20.  
  21. if(n=='mango')
  22. mango+=1;
  23.  
  24. if(n=='limon')
  25. limon+=1;
  26.  
  27. if(n=='papaya')
  28. papaya+=1;
  29.  
  30. if(n=='guineo')
  31. guineo+=1;
  32.  
  33. if(n=='yuca')
  34. yuca+=1;
  35.  
  36. if(n=='zanahoria')
  37. zanahoria=1;
  38.  
  39. if(n=='lechuga')
  40. lechuga+=1;
  41.  
  42. if(n=='otoe')
  43. otoe+=1;
  44.  
  45. if(n=='name')
  46. name+=1;
  47. }
  48. document.getElementById('zona').innerHTML=naranja;


ley mucho como siempre antes de postear para que no me digan que san google tiene la respuesta.

bueno y lo que encontre fue lo siguiente:
Código
  1. document.getElementById('zona').innerHTML=naranja;

donde 'zona' es el ID del label que aparece en la segunda tabla de mi html y el metodo document.getElementById me permitira hacer lo que yo estoy buscando pero no es asi. si alguien tiene una idea que me pueda ayudar se lo boy agradecer de por vida.

 :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[ :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
8  Seguridad Informática / Hacking / Dudas basicas sobre telnet. en: 21 Junio 2012, 21:28 pm
Buenas tardes respetados amigos hoy he intentado conectarme por telnet a otro computador de la misma red !!! tengo entendido que para conectarme tengo que utilizar el comando
Código:
open xxx.xxx.xxx.xx yy
donde las x representan la ip y las y el puerto !!! el problema esq me manda un error llamado asi No se puede abrir la conexion al host, en puerto 23: error en la conexión !!! esto es proq le estoy dando e puerto 23 he intentado con el 80 y el 82 y nada estoy en ambas maquinas con windows 7 !!! si alguien me puede decir como abrir un puerto para que funcione !!! o como hacer el procedimiento correcto le agradezco.
 :( :( :( :( :( :( :( :(
9  Programación / Java / Matriz 3x3 imprimirla en espiral en: 5 Junio 2012, 04:33 am
Buenas noches programadores, hace unos minutos una conocida me preguntaba lluvplay ! como ago para imprimir una matriz de 3X3 en forma de espiral, yo pense que iva hacer muy facil para mi pero al pasar de los minutos dije uffff lo que me costo, bueno el problema es el siguiente: yo logre al final imprimir la matriz en forma de espiral pero creo que mi codigo no es el mas optimo. El asunto esque quiero ver si alguien tiene un codigo mas obtimo que el mio para revisarlo y ojearlo !!! Obiamente mis poderes no son los mismo que cuando en verdad me exigian en la universidad

Ejemplo del problema: cargar una matriz 3x3 con random he imprimir en forma de espiral ejemplo:
matriz 3x3
123
456
789
Forma de espiral
1
12
123
    6
  56
456
7
78
789

Mi codigo fuente fue para imprimirlo en JTextArea asique solo pondre el codigo que concatena la variable String y luego la envia mediante el SetText(string); al JTextArea. espero sea un debate interezante !!


Código:
int matriz[][]=new int[3][3];/// declaracion de la matriz
      int a,b; ///2 variables para el manejo de la matriz dentro del for
      String concatenar="\n-------Matriz 3x3-------\n";/// para imprimir en el JTextArea
      Random rand = new Random();/// declaracion del objeto de la clase Random
      ///llenamos la matriz con los numeros randon
      for(a=0;a<3;a++)
      {
             for(b=0;b<3;b++)
             {
             matriz[a][b]=rand.nextInt(9);// cargamos la matriz
             concatenar=concatenar+matriz[a][b]+",";// concatenamos la matriz para la impresion
             }//fin del for de la variable b
            concatenar=concatenar+"\n";/// concatenamos un salto de linea
      }//Fin del for de la variable a
      concatenar=concatenar+"\n---------------------\n";
      int x=0;
      a=0;
       while(a<3) //// solo para 3 x3 XD
           {
            for(b=0;b<=x;b++)
             {
             concatenar=concatenar+matriz[a][b]+" ";// concatenamos la matriz
             }//fin del for de la variable b
            concatenar=concatenar+"\n";/// concatenamos un salto de linea
               if(x==2)
                {
                a=a+1;
                if(a>2)
                    break;
                while(x>=0)
                        {
                                         if (x==2)
                                         concatenar=concatenar+"      ";//solo para ordenar
                                         if(x==1)
                                         concatenar=concatenar+"   ";   //solo para ordenar         
                                         for(b=x;b<=2;b++)
                                        {
                                         concatenar=concatenar+matriz[a][b];// concatenamos la matriz
                                          }//fin del for de la variable b
                                         x=x-1;
                                    concatenar=concatenar+"\n";/// concatenamos un salto de linea
                }///fin del while
             a=a+1;
             String cadenaNueva = concatenar.substring(0, concatenar.length()-1);/// como agaraba 2 salto de linea segido elimine uno para que kedara justo
               concatenar=cadenaNueva;
                }else
                {
                 x=x+1;
                }
      }//Fin del for de la variable a
      jTextArea1.setText(concatenar);

Todo ese codigo esta dentro de una accion del boton llnar la matriz
 :huh: :huh: :huh: :huh: :huh: :huh: :huh: :huh: :P :P :P :P
10  Programación / Java / Ramdon siempre me repite los mismo numeros en: 22 Mayo 2012, 23:33 pm
Buenas tardes respetados compañeros mi problema es que tengo un codigo en java utilizando Ramdon. Todo me va bien solo que cuando abro el programa 2 veces me tira la misma secuencia de ramdon

osea quiero hacer un ramdon de 10 numeros
ejecuto la aplicacion 1 ves
genera:
3
9
6
7
1
2
4
5
8
0
cierro la aplicacion
coloco 10 numeros nuevamente
3
9
6
7
1
2
4
5
8
0
me genera siempre el mismo ramdon como puedo solucionar esto si alguien sabe :D
les  agradezco de ante mano
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines