Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] problema con una matriz 5x6 y un random

Estas en el tema de problema con una matriz 5x6 y un random en el foro de Java en Foros del Web. buenas estoy haciendo una matriz pero no se que estaré haciendo mal ya que no me imprime los datos que le pongo y otro consulta ...
  #1 (permalink)  
Antiguo 05/03/2013, 21:55
 
Fecha de Ingreso: marzo-2013
Mensajes: 5
Antigüedad: 11 años, 1 mes
Puntos: 0
Exclamación problema con una matriz 5x6 y un random

buenas estoy haciendo una matriz pero no se que estaré haciendo mal ya que no me imprime los datos que le pongo y otro consulta es que tengo que hacer 6 tablas similares de 5 filas y 6 columnas todas llevan diferentes conjuntos de números pero la tabla 1 siempre los mismos números pero con diferente orden igual con todas como puedo hacer ese random? ya que solo encuentro pero con un intervale de 1 a 10 ..100 etc de antemano agradezco la ayuda

Cita:
import javax.swing.*;

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author adrian
*/
public class proyecto {

int tabla1[][] = new int[6][5];

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here

String nombre="",correo="";

while ("".equals(correo)||"".equals(nombre))
{
nombre=JOptionPane.showInputDialog("Digite su nombre completo");
correo=JOptionPane.showInputDialog("Digite su correo electronico");
}

int tabla1 [][] = {{9,10,11,12,13,8},{14,15,24,25,26,27},{28,29,30,3 1,40,41},{42,43,44,45,46,47},{56,57,58,59,60,13}};

JOptionPane.showMessageDialog(null, tabla1);


}

}

Última edición por ajmb; 05/03/2013 a las 22:02 Razón: correccion
  #2 (permalink)  
Antiguo 05/03/2013, 23:18
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: problema con una matriz 5x6 y un random

Hola:

Para ver los elementos de una tabla debes hacer un bucle (doble bucle en tu caso al ser de dos dimensiones el array) y sacarlos uno a uno. Un show(... tabla1), sólo te sacará una especie de "cosa rara" que representa el nombre de la clase y un identificador de la zona de memoria donde está la variable.

Sí, si puedes hacer el random, aunque no se entiende muy bien qué es lo que quieres.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 09/03/2013, 07:12
 
Fecha de Ingreso: marzo-2013
Mensajes: 5
Antigüedad: 11 años, 1 mes
Puntos: 0
De acuerdo Respuesta: problema con una matriz 5x6 y un random

Muchas gracias ya puedo imprimir mi matriz =) te lo agradezco, ahora mi consulta es como puedo hacer un random para esta matriz que me lo ordene de diferente forma cada vez que se utiliza?

Cita:
import javax.swing.*;


public class proyecto {

int tabla1[][] = new int[6][5];


public static void main(String[] args) {


String nombre = "", correo = "", tabla = "", cadena = "";
int fila, columna;

while ("".equals(correo) || "".equals(nombre)) {
nombre = JOptionPane.showInputDialog("Digite su nombre completo");
correo = JOptionPane.showInputDialog("Digite su correo electronico");
}

int tabla1[][] = {{9, 10, 11, 12, 13, 8},
{14, 15, 24, 25, 26, 27},
{28, 29, 30, 31, 40, 41},
{42, 43, 44, 45, 46, 47},
{56, 57, 58, 59, 60, 13}};


for (fila = 0; fila < 5; fila++) {


for (columna = 0; columna < 6; columna++) {
cadena = cadena + " " + tabla1[fila][columna];

}

cadena = cadena + "\n";
}
JOptionPane.showMessageDialog(null, cadena);

}
}

Última edición por ajmb; 09/03/2013 a las 07:13 Razón: faltaba codigo
  #4 (permalink)  
Antiguo 09/03/2013, 07:22
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: problema con una matriz 5x6 y un random

Echa un ojo aqui http://chuwiki.chuidiang.org/index.p...torios_en_Java

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 09/03/2013, 21:22
 
Fecha de Ingreso: marzo-2013
Mensajes: 5
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: problema con una matriz 5x6 y un random

Gracias pero de igual forma no logro hacer que las matrices se llenen de manera random no entiendo como hacerlo lo que necesito es que con esos valores que tiene se puedan cambiar de posiciones osea en la tabla 1 en la posición [1][1] que sea cualquier valor de los que están ahí ya definidos y que en otra barrida cambien nuevamente y así sucesivamente, y ahora lo tengo que pasar todo a métodos me siento algo tonto no logro entender mucho que digamos
lo del link lo leí pero no logre encontrar la forma de como pasar esto:


Random r1 = new Random();
Random r2 = new Random(4234);
Random r3 = new Random(4234); // r2 y r3 darán la misma secuencia.

a mi codigo

de antemano disculpa si molesto tanto



Código Javascript:
Ver original
  1. import javax.swing.*;
  2.  
  3. public class proyecto {
  4.  
  5.     int tabla1[][] = new int[6][5];
  6.     int tabla2[][] = new int[6][5];
  7.     int tabla3[][] = new int[6][5];
  8.     int tabla4[][] = new int[6][5];
  9.     int tabla5[][] = new int[6][5];
  10.     int tabla6[][] = new int[6][5];
  11.  
  12.     public static void main(String[] args) {
  13.  
  14.  
  15.         String nombre = "", correo = "", tabla = "", cadena = "";
  16.         int fila, columna;
  17.  
  18.         while ("".equals(correo) || "".equals(nombre)) {
  19.             nombre = JOptionPane.showInputDialog("Digite su nombre completo");
  20.             correo = JOptionPane.showInputDialog("Digite su correo electronico");
  21.         }
  22.  
  23.         int tabla1[][] = {{9, 10, 11, 12, 13, 8},
  24.             {14, 15, 24, 25, 26, 27},
  25.             {28, 29, 30, 31, 40, 41},
  26.             {42, 43, 44, 45, 46, 47},
  27.             {56, 57, 58, 59, 60, 13}};
  28.  
  29.  
  30.         for (fila = 0; fila < 5; fila++) {
  31.  
  32.  
  33.             for (columna = 0; columna < 6; columna++) {
  34.                 cadena = cadena + " " + tabla1[fila][columna];
  35.  
  36.             }
  37.  
  38.             cadena = cadena + "\n";
  39.         }
  40.         JOptionPane.showMessageDialog(null, cadena);
  41.  
  42.  
  43.  
  44.  
  45.  
  46.         cadena = "";
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.         int tabla2[][] = {{5, 6, 7, 13, 12, 4},
  55.             {14, 15, 20, 21, 22, 23},
  56.             {28, 29, 30, 31, 36, 37},
  57.             {38, 39, 44, 45, 46, 47},
  58.             {52, 53, 54, 55, 60, 13}};
  59.  
  60.  
  61.         for (fila = 0; fila < 5; fila++) {
  62.  
  63.  
  64.             for (columna = 0; columna < 6; columna++) {
  65.                 cadena = cadena + " " + tabla2[fila][columna];
  66.  
  67.             }
  68.  
  69.             cadena = cadena + "\n";
  70.         }
  71.         JOptionPane.showMessageDialog(null, cadena);
  72.  
  73.  
  74.  
  75.  
  76.         cadena = "";
  77.  
  78.  
  79.         int tabla3[][] = {{3, 6, 7, 10, 11, 2},
  80.             {14, 15, 18, 19, 22, 23},
  81.             {26, 27, 30, 31, 34, 35},
  82.             {38, 39, 42, 43, 46, 47},
  83.             {50, 51, 54, 55, 58, 59}};
  84.  
  85.  
  86.         for (fila = 0; fila < 5; fila++) {
  87.  
  88.  
  89.             for (columna = 0; columna < 6; columna++) {
  90.                 cadena = cadena + " " + tabla3[fila][columna];
  91.  
  92.             }
  93.  
  94.             cadena = cadena + "\n";
  95.         }
  96.         JOptionPane.showMessageDialog(null, cadena);
  97.  
  98.  
  99.  
  100.  
  101.         cadena = "";
  102.  
  103.  
  104.  
  105.         int tabla4[][] = {{3, 5, 7, 9, 11, 1},
  106.             {13, 15, 17, 19, 21, 23},
  107.             {25, 27, 29, 31, 33, 35},
  108.             {37, 39, 41, 43, 45, 47},
  109.             {49, 51, 53, 55, 57, 59}};
  110.  
  111.  
  112.         for (fila = 0; fila < 5; fila++) {
  113.  
  114.  
  115.             for (columna = 0; columna < 6; columna++) {
  116.                 cadena = cadena + " " + tabla4[fila][columna];
  117.  
  118.             }
  119.  
  120.             cadena = cadena + "\n";
  121.         }
  122.         JOptionPane.showMessageDialog(null, cadena);
  123.  
  124.  
  125.  
  126.  
  127.         cadena = "";
  128.  
  129.  
  130.  
  131.  
  132.         int tabla5[][] = {{17, 18, 19, 20, 21, 16},
  133.             {22, 23, 24, 25, 26, 27},
  134.             {28, 29, 30, 31, 48, 49},
  135.             {50, 51, 52, 53, 54, 55},
  136.             {56, 57, 58, 59, 60, 31}};
  137.  
  138.  
  139.         for (fila = 0; fila < 5; fila++) {
  140.  
  141.  
  142.             for (columna = 0; columna < 6; columna++) {
  143.                 cadena = cadena + " " + tabla5[fila][columna];
  144.  
  145.             }
  146.  
  147.             cadena = cadena + "\n";
  148.         }
  149.         JOptionPane.showMessageDialog(null, cadena);
  150.  
  151.  
  152.  
  153.         cadena = "";
  154.  
  155.  
  156.  
  157.  
  158.  
  159.         int tabla6[][] = {{33, 34, 35, 36, 37, 32},
  160.             {38, 39, 40, 41, 42, 43},
  161.             {44, 45, 46, 47, 48, 49},
  162.             {50, 51, 52, 53, 54, 55},
  163.             {56, 57, 58, 59, 60, 46}};
  164.  
  165.  
  166.         for (fila = 0; fila < 5; fila++) {
  167.  
  168.  
  169.             for (columna = 0; columna < 6; columna++) {
  170.                 cadena = cadena + " " + tabla6[fila][columna];
  171.  
  172.             }
  173.  
  174.             cadena = cadena + "\n";
  175.         }
  176.         JOptionPane.showMessageDialog(null, cadena);
  177.  
  178.  
  179.  
  180.  
  181.     }
  182. }
  #6 (permalink)  
Antiguo 10/03/2013, 05:13
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: problema con una matriz 5x6 y un random

Guarda los posibles números en una lista (un LinkedList, por ejemplo) al principio del programa. Cuando quieras rellenar la matriz, genera con random entre 0 y el número de elementos de la lista uno de los índices, retira el elemento de la lista y mételo en la matriz. Repite el proceso en un bucle, teniendo en cuenta que la lista tendrá cada vez un elemento menos.

El pseudocódigo puede ser así

Código java:
Ver original
  1. Rellena un lista los posibles valores
  2.  
  3. para cada elemento de la matriz
  4.    genera un indice aleatorio entre 0 y elementos lista - 1
  5.         retira de lista ese elemento y mételo en la matriz.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: matriz, random
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:57.