Gerar Matriz em JAVA * Netbeans

14 respostas
ashibarai

Boas pessoal!

Alguem me pode explicar como e k posso por um programa a criar uma matriz aleatoria em java?!
Por exemplo:

O programa pedia ao utilizador o numero de linhas e de colunas da matriz, e esse programa geraria uma matriz com esse numero de linhas e colunas introduzidas pelo utilizador, com valores aleatorios.

Obrigado!

14 Respostas

T

a) Aloque a matriz usando “new”
b) Preencha os valores da matriz usando Math.random() e 2 loops, um dentro do outro (um para as linhas, outro para as colunas).
c) Como você usou a palavra “utilizador” presumo que esteja falando de Portugal. É isso mesmo?

ashibarai

estou sim a falar d portugal :slight_smile:

pode-me explicar melhor como e o codigo para fazer isso ?!

tipo:

int [][] matriz = new int [][];

e agr km aloco na matriz?! com o random ?! sou mt basico nisto, tou no 1º ano d informatica e n tenho mt experiencia com programaçao… ando um bocado a deriva :frowning:

Obrigado

T

Estou supondo que você já tenha obtido o número de linhas e de colunas.
Pra começar, você deve saber que em Java tanto as linhas quanto as colunas começam a partir do zero, portanto se você quer criar uma matriz de 5 linhas por 10 colunas você faz o seguinte:

double [][] matriz = new double[linhas][colunas];

e então preencha os valores:

for (int linha = 0; linha &lt linhas; linha++) {
    for (int coluna = 0; coluna &lt colunas; coluna++) {
        matriz [linha] [coluna] = Math.random();
    }
}

Você terá uma matriz com elementos aleatórios que vão de 0 (inclusive) até 1 (exclusive). Por exemplo, o elemento [0][2] poderia conter o valor 0.231123986894756

michael.martins

Você gera a matriz assim:
int a[][]=new int[3][4];//o [3] é o número de linhas e o [4] é o número de linhas

para preencher esta matriz vc deve fazer da seguinte forma:

int linha, coluna;

for(coluna=0;coluna<3;coluna++)

{

for(linha=0;linha<3;linha++)

{

a[linha][coluna]=Integer.parseInt(JOptionPane.showInputDialog(null,Digite um numero,

Teste,JOptionPane.PLAIN_MESSAGE));

}

}

Assim vc vai iserir os valores digitados em linha e coluna, preenchendo primeiro a coluna.

fabim

int linhas = Integer.parseInt(JOptionPane.showInputDialog(“digite o numero de linhas:”));

int colunas = Integer.parseInt(JOptionPane.showInputDialog(“digite o numero de colunas:”));

int [][] matriz = new int [linhas][colunas];

for ( int i = 0; i < linhas; i ++ )

for ( int z = 0; z < colunas; z ++)

matriz[i][z] = (int) (Math.random() * 10));
ViniGodoy

Ao invés de Math.random() você também pode usar a classe Random.

Random random = new Random(); for (int linha = 0; linha &lt linhas; linha++) { for (int coluna = 0; coluna &lt colunas; coluna++) { matriz [linha] [coluna] = random.nextDouble(); } }

Mantu

http://www.guj.com.br/posts/list/37400.java#198487

ashibarai

Muito obrigado a todos! ajudaram imenso!

Thingol especialmente a si, pela rapidez de resposta :slight_smile: e pela bela explicaçao :slight_smile:

Mais uma vez obrigado a todos!

G

ashibarai:
Muito obrigado a todos! ajudaram imenso!

Thingol especialmente a si, pela rapidez de resposta :slight_smile: e pela bela explicaçao :slight_smile:

Mais uma vez obrigado a todos!

Preciso das Matrizes Abaixo, onde posso conseguir??

60/40/33/33(?)
60/40/32/32(?)
60/40/31/31(?)
50/40/33/33(?)
50/40/32/32(?)
50/40/31/31(?)

G

ViniGodoy:
Ao invés de Math.random() você também pode usar a classe Random.

Random random = new Random(); for (int linha = 0; linha &lt linhas; linha++) { for (int coluna = 0; coluna &lt colunas; coluna++) { matriz [linha] [coluna] = random.nextDouble(); } }

Preciso das Matrizes Abaixo, onde posso conseguir??

60/40/33/33(?)
60/40/32/32(?)
60/40/31/31(?)
50/40/33/33(?)
50/40/32/32(?)
50/40/31/31(?)

G

fabim:
int linhas = Integer.parseInt(JOptionPane.showInputDialog(“digite o numero de linhas:”));

int colunas = Integer.parseInt(JOptionPane.showInputDialog(“digite o numero de colunas:”));

int [][] matriz = new int [linhas][colunas];

for ( int i = 0; i < linhas; i ++ )

for ( int z = 0; z < colunas; z ++)

matriz[i][z] = (int) (Math.random() * 10));</blockquote>

Preciso das Matrizes Abaixo, onde posso conseguir??

60/40/33/33(?)
60/40/32/32(?)
60/40/31/31(?)
50/40/33/33(?)
50/40/32/32(?)
50/40/31/31(?)

G

thingol:
a) Aloque a matriz usando “new”
b) Preencha os valores da matriz usando Math.random() e 2 loops, um dentro do outro (um para as linhas, outro para as colunas).
c) Como você usou a palavra “utilizador” presumo que esteja falando de Portugal. É isso mesmo?

Preciso das Matrizes Abaixo, onde posso conseguir??

60/40/33/33(?)
60/40/32/32(?)
60/40/31/31(?)
50/40/33/33(?)
50/40/32/32(?)
50/40/31/31(?)

G

michael.martins:
Você gera a matriz assim:
int a[][]=new int[3][4];//o [3] é o número de linhas e o [4] é o número de linhas

para preencher esta matriz vc deve fazer da seguinte forma:

int linha, coluna;

for(coluna=0;coluna<3;coluna++)

{

for(linha=0;linha<3;linha++)

{

a[linha][coluna]=Integer.parseInt(JOptionPane.showInputDialog(null,Digite um numero,

Teste,JOptionPane.PLAIN_MESSAGE));

}

}

Assim vc vai iserir os valores digitados em linha e coluna, preenchendo primeiro a coluna.

Preciso das Matrizes Abaixo, onde posso conseguir??

60/40/33/33(?)
60/40/32/32(?)
60/40/31/31(?)
50/40/33/33(?)
50/40/32/32(?)
50/40/31/31(?)

R

Entrei no tópico e lembrei de um antigo programa meu, que era um problema proposto por uma professora… poxa que série ‘pro’ …
programa,problema ,proposto,professora.

Enfim é bem interessante, um número é um centro, e os números todos crescem em espiral ao redor dele (em uma matriz ou array bidimensional) . Na hora pareceu muito simples, mas exige um grande raciocínio para construir. É um programa pequeno, mas muito interessante.

Ao pedir um número cabível temos que achar sua localização…

É até possível apartir deste raciocínio construir um jogo ou alguma outra rotina interessante. Pode servir em um jogo para localização de alvos por exemplo, ou aparição de naves, objetos, e uma outra infinidade de coisas… Segue o programa em anexo, se couber… Mas é pequeno, porém complexo…
Espero que executem, entendam e observem seu funcionamento.

Aguardo comentários.

Criado 12 de janeiro de 2007
Ultima resposta 13 de jun. de 2014
Respostas 14
Participantes 8