Duvida no codigo

9 respostas
iasmim
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;
	}
}

9 Respostas

Polverini

qual a duvida ?

P

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…

Polverini

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…

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

P

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…

Polverini

eita vi errado uahsuahsua, foi mal
asahsuah

GuilhermeKFreitas

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:

P

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

isaiaspf
Faça o teste que você vai ver que não gera erro de compilação:
int pi = 1;
double pd = 1.0;
char pc = 'a';

Integer oi = pi;
Double od = pd;
Character oc = pc;
Mais informações: Autoboxing
P

Ham, ok

valeu ^^

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

Criado 3 de agosto de 2011
Ultima resposta 4 de ago. de 2011
Respostas 9
Participantes 5