Duvida no codigo

import java.util.Scanner;


public class MatrizAdjacencia { /* Construtor de Matriz, Cria uma matriz MxN onde todos os elementos possuem valor "0" */

	Integer [][] matriz; /* Declarações */ 
	private int NumeroDeLinhas;
	private int NumeroDeColunas;
	
	public MatrizAdjacencia(int Args, int Args2){ /*  */
		
		NumeroDeColunas = Args2;
		NumeroDeLinhas = Args;
		
		matriz =  new Integer [NumeroDeLinhas][NumeroDeColunas];
		
		for(int x=0; x< NumeroDeLinhas; x++){
			for(int y=0; y<NumeroDeColunas; y++){
				
				matriz[x][y] = 0;
			}
		}
		
		CriaMatrizAdjacente();
	}
	
	private void CriaMatrizAdjacente(){
		
		Scanner input = new Scanner(System.in);
		int x = 1;
		int y = 1;
		System.out.println("Digite o caminho");
		System.out.print("X=");
		x = input.nextInt();
		System.out.print("Y=");
		y = input.nextInt();
		
		while (x != -1 && y != -1) {

			matriz[x][y] = 1;
			matriz[y][x] = 1;
			
			System.out.println("Digite o caminho");
			System.out.print("X=");
			x = input.nextInt();
			System.out.print("Y=");
			y = input.nextInt();
		}	
	}

	public Integer[][] getMatriz() {
		return matriz;
	}
}

qual a duvida ?

Qual é sua dúvida?

Ah, na linha 20 você tem que trocar o “0” por “new Integer(0)” e fazer o mesmo para as linhas 40 e 41…

[quote=paquino]Qual é sua dúvida?

Faltou inicializar a matriz…
e ah, na linha 20 você tem que trocar o “0” por “new Integer(0)” e fazer o mesmo para as linhas 40 e 41…[/quote]

pq new Integer(0)?? ela esta trabalhando com int

Ela criou uma matriz de Integer(objeto), se fosse de int(tipo primitivo) daí tudo bem, pode ver que irá dar erro de compilação se tentar colocar o 0 em alguma posição dessa matriz…

eita vi errado uahsuahsua, foi mal
asahsuah

Tem certeza que vai dar erro de compilação?

E quanto ao auto-boxing que ocorre?

Compila sim!
Ele converte automaticamente o int em Integer :slight_smile:

Olha, eu joguei no eclipse e deu erro: “Type mismatch: cannot convert from int to Integer”

Faça o teste que você vai ver que não gera erro de compilação:[code]int pi = 1;
double pd = 1.0;
char pc = ‘a’;

Integer oi = pi;
Double od = pd;
Character oc = pc;[/code]Mais informações: Autoboxing

Ham, ok

valeu ^^

e agora voltamos, qual é a dúvida da iasmim?