Arrays

Olá pessoal, boa noite !

Estou aprendendo java sozinho em casa, e estou com um problema no aprendizado de array bidimenssional. Está dando o seguinte erro:

Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 20
at testes.MilNumeros.main(MilNumeros.java:27)

ele consegue gerar alguns números, mas dá esse erro. Abaixo segue código para análise.

package testes;

import java.util.Random;
import javax.swing.JOptionPane;

/**
*

  • @author Eu
    */
    public class MilNumeros {

    public static void main(String[] args){

    int numero [][] = new int[50][20];

    for(int x = 0; x <= 999; x++){
    for(int y = 0; y <= 999; y++){

        int nume = (int)(Math.random()*999);
        
        numero[x][y] = nume;                           // A linha que ocorre o erro
        System.out.println(numero[x][y]);
    

    }
    }
    }
    }

agradeço pela ajuda da comunidade, e fico grato pela atenção.

Primeiramente, bem vindo ao GUJ.

Tá dando erro pois quis colocar um int[1000][1000] em um int[50][20].
Pelo nome da classe acho que a ideia é printar mil números.

Teste assim:

[code]
public class MilNumeros {

public static void main(String[] args) {
	int count = 0;
	int numero[][] = new int[50][20];

	for (int x = 0; x < 50; x++) {
		for (int y = 0; y < 20; y++) {

			int nume = (int) (Math.random() * 999);
			numero[x][y] = nume;
			System.out.println(numero[x][y]);

			count++;
		}
	}
	System.out.println("Total de numeros exibidos:" + count);
}

}[/code]

Aproveite e leia o guia do iniciante, no link abaixo, atenção para a explicação de como usar as tags [ code ] [ / code ], assim ajuda aos demais usuários a ler o código:
Não deixe de ler: http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor

[quote=asousaj]Primeiramente, bem vindo ao GUJ.

Tá dando erro pois quis colocar um int[1000][1000] em um int[50][20].
Pelo nome da classe acho que a ideia é printar mil números.

Teste assim:

[code]
public class MilNumeros {

public static void main(String[] args) {
	int count = 0;
	int numero[][] = new int[50][20];

	for (int x = 0; x < 50; x++) {
		for (int y = 0; y < 20; y++) {

			int nume = (int) (Math.random() * 999);
			numero[x][y] = nume;
			System.out.println(numero[x][y]);

			count++;
		}
	}
	System.out.println("Total de numeros exibidos:" + count);
}

}[/code]

Aproveite e leia o guia do iniciante, no link abaixo, atenção para a explicação de como usar as tags [ code ] [ / code ], assim ajuda aos demais usuários a ler o código:
Não deixe de ler: http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor[/quote]

Além disso, poderia usar a propriedade “length” ao invés de constantes. Assim, se a matriz mudar de tamanho, o código não quebra:

for (int x = 0; x < numero.length; x++) {
	for (int y = 0; y < numero[x].length; y++) {
        //restante do código
       }
}