Criar um procedimento em Java que mostre uma matriz por padrão

1 resposta
R

Boa noite, alguém pode rodar este algoritmo em Java e me dizer o pq do erro apresentado? Segue exercício:
Criar um procedimento para desenhar o seguinte padrão na tela, utilizando
uma matriz:
Exemplo de entrada:
N = 4
Exemplo de saída:
1 * * *

  • 2 *
  • 3 *
      • 4
*/
import java.util.Scanner;
public class ex3 {
  public static void main(String[] args) {
    Scanner teclado = new Scanner(System.in);
    
    int x;
     
    System.out.println("Digite um número acima de (0) para usar no procedimento:");
    
       x = teclado.nextInt();
       mat(x);
      
	    
      
  
  }

  public static void mat(int x){ // realizando um teste se o usuário digitar o inteiro 4
    int[][] matriz = new int[x][x]; // a matriz vai iniiar com 4 posições
    matriz[x-1][x-1] = x; // matriz na ultima linha(3) e coluna(3) vai ser igual a 4
    int y; 
    y = x - 1; // y vai iniciar com o valor 2 
	  
	  for(y = x - 2; y > 0; y--){ 
           matriz[y][y] = (x-1); 
           x--;
	   
		System.out.print(matriz[x][x]);	   
          }
  		
     	 
   }

Abraços!

1 Resposta

CWeiler

Você não postou qual o erro, mas sem executar o código eu apostaria que você está recebendo um arrayoutofbounds.

Você está fazendo uma encrenca danada com aqueles x’s e y’s. Utilize apenas uma variável de índice.

ps. tente explicar melhor qual a saída esperada, por exemplo: o que são aqueles asteriscos.

Criado 12 de outubro de 2014
Ultima resposta 13 de out. de 2014
Respostas 1
Participantes 2