Matriz com numeros aleatórios [RESOLVIDO]

Pessoal usei esse esquema para fazer com vetor ele me imprimia um vetor com de 10 posições com numeros aleatórios queria saber o pq que usando a msma lógica com a matriz não rodou… vou manda o código.

[code] int [][]m = new int [10][3];

		  for(int i = 0; i < 10 ; i++){
		   for(int k = 0; k < 3 ; i++){
		    m[i][k] = (int)(Math.random()*10);
		   }
		  
		  }
		  for(int i = 0; i < 10 ; i++){
		   for(int k = 0; k < 3 ; i++){
		    System.out.println (m[i][k]);
		   }
		  
		  }
		 }[/code]
1 curtida

não se preucupe, esse é um erro bem comum. As vezes acontece.

for(int k = 0; k < 3 ; i++){ 

o contador é "k", só que é o "i" que recebe o incremento. Isso deve gerar um ArrayIndexOutOfBounds.
Aproveitando, é muito melhor usar a classe Random, do que usar o math.random();

import java.util.Random;
(...)
Random generator = new Random();
m[i][k] = generator.nextInt( 10 );
(...)

Qualque dúvida posta aí.
[]`s

1 curtida

Seu código:

[code] int [][]m = new int [10][3];

          for(int i = 0; i < 10 ; i++){  
           for(int k = 0; k < 3 ; k++){  
            m[i][k] = (int)(Math.random()*10);  
           }  
            
          }  


          for(int i = 0; i < 10 ; i++){  
          for(int k = 0; k < 3 ; k++){  
           System.out.println (m[i][k]);  
          }               
         }  
        }  [/code]
1 curtida

Muito obrigado consegui fazer rodar das duas maneiras e vi tbem qual era meu erro…

Thank’s

1 curtida

Depois que seu problema tiver resolvido, vá no primeiro post, editar o Título adicionando a tag [RESOLVIDO] no final do Título .

1 curtida

[quote=VictorFarion]Pessoal usei esse esquema para fazer com vetor ele me imprimia um vetor com de 10 posições com numeros aleatórios queria saber o pq que usando a msma lógica com a matriz não rodou… vou manda o código.

[code] int [][]m = new int [10][3];

		  for(int i = 0; i < 10 ; i++){
		   for(int k = 0; k < 3 ; i++){
		    m[i][k] = (int)(Math.random()*10);
		   }
		  
		  }
		  for(int i = 0; i < 10 ; i++){
		   for(int k = 0; k < 3 ; i++){
		    System.out.println (m[i][k]);
		   }
		  
		  }
		 }[/code][/quote]
1 curtida

Boa noite pessoal…
Preciso imprimir o espelho de uma matriz que não seja do tipo quadrada 3x 3 ou 4 x 4, quando imprimo assim da certo se eu imprimir 2 , x 3 ou 3 x 4, não da certo … Alguém poderia me ajudar… Segue código.
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

public class Matriz_Espelho {

public static void main(String[] args) {

int linhasMatrizA;
int colunasMatrizA;
// int linhasMatrizB;
// int colunasMatrizB;

    int [][] matrizA;

// int [][] matrizB;

Scanner entrada = new Scanner(System.in);
System.out.println(“Insira o numero de LINHAS da matriz A:”);
linhasMatrizA = entrada.nextInt();

System.out.println(“Insira o numero de COLUNAS da matriz A:”);
colunasMatrizA = entrada.nextInt();

matrizA = new int[linhasMatrizA][colunasMatrizA];
// matrizB = new int[linhasMatrizB][colunasMatrizB];

System.out.println(“Matriz A e [” + linhasMatrizA + “]” + “[” + colunasMatrizA + “]”);

System.out.println(“Preenchendo Matriz A”);
for(int i = 0; i < matrizA.length; i++){
for (int j = 0; j < matrizA[0].length; j++){
System.out.println(“Digite o valor para a posicao [” + i + “]” + “[” + j + “] da matriz A” );
matrizA[i][j] = entrada.nextInt();
}
}
System.out.println();
System.out.println("Matriz Pincipal: ");

for (int i = 0; i < matrizA.length; i++) {
for (int j = 0; j < matrizA.length; j++) {
System.out.printf(" %d ", matrizA[i][j]);
}
System.out.println();
}

System.out.println();
System.out.println("Matriz Diagonal: ");

for (int i = 0; i < matrizA.length; i++) {
for (int j = 0; j < matrizA.length; j++) {
System.out.printf(" %d ", matrizA[j][i]);
}
System.out.println();
}

}

}