"incompatible types" na matriz

11 respostas
F

Por que nessas linhas int A[]= new int [5][3];
int B[]= new int [5][3];

está dando o erro? Todas são int.

Obrigado.

import java.util.Scanner;
 
 class Soma{
 	public static void main(String args[]){
 		
 		int A[]= new int [5][3];
 		int B[]= new int [5][3];
 		int C[]= new int [5][3];
 		
 		leia(A);
 		leia(B);
 		cria(C,A,B);
 		mostra(C);
 		d=outra(A,B);
 		mostra(D);
 				
 	}
 	
 	public static void leia(int x[][]){ //início método leia
 		Scanner s=new Scanner(System.in);
 		
 		for(int i=0;i<5;i++){
 			 for(int j=0;j<3;j++){
 			 	
 		System.out.println("informe linha" +i+ "coluna" +j );
 			 	 x[i][j]=s.nextInt();
 			 }
 		}
 		
 		
 	}//fim método leia
 	
 
 public static void cria(int A[][], int B[][], int C[][]){ //início método cria
 	  for(int i=0;i<5;i++){
 	  	 for(int j=0;j<3;j++){
 	  	 	A[i][j]= B[i][j]+ C[i][j];
 	  	 }
 	  }
 	 
 }  //fim método cria
 
 
  public static int[][] outra (int x[][],int y[][]){
  	 int Z [][]= new int [5][3];
  	    for(int L=0;L<5;L++){
  	    	for(int C=0;C<3;C++){
  	    		Z[L][C]= X[L] [C] * Y [L] [C];
  	    		
  	    		
  	    		}
          } 
 	return Z;
  }
           	
  
 	
 }

11 Respostas

rafarcm
int A[][]= new int [5][3];

int B[][]= new int [5][3];

int C[][]= new int [5][3];
finch

opa opa opa!!!

mew da uma olhada na declaração de suas variáveis!!blz?
     tem alguns erros, da uma estruturada separa bunitinho em classes, e bota pra roda! 
     fmz? começando pelo int A[] = new int [5][3];
    colok int A[][]=new int[5][3]; fmz faz nos outros tbm, dpois bota pra roda, vai aparece outros erros q com ctz sao de método dai vc arruma! fmz!!!

aaaa e tbm de variáveis q nao foram declaradas!? entende?!
blz!?

espero ter ajudado…

finch

vo tenta explica!

vc declaro uma variavel só com linha entende? “int A[]” precisa ter a coluna entao int A[][] <-- essa chave vai suporta as colunas e a 1º as linhas!
blzzz
falow

qlq cois só pergunta

F
Não sei se entendi  eu coloquei

int A[][]= new int [5][3];

int B[][]= new int [5][3];

int C[][]= new int [5][3];

e agora deu erro no mostra©;
D=outra(A,B);

cannot find symbol method mostra(int[][])
cannot find symbol variable D

rafarcm

O codigo do programa e so isso q vc colocou aqui???

se for a variavel D nao foi declarada.

o metodo mostra naum existe no seu codigo e preciso cria-lo.

finch

então …

vc nao declaro int A[][]= new int [5][3];

e para D? ele é o que? string?int?double? entendeu!!! faltou declarar…
quanto ao outro erro…vc fez um método!!entendeu!!então kd a implementação dele!?

vc qer mostra???

entao faça assim crie um método q receba por parametro um int x[][] por exemplo faça uns 2 for com i no primeiro e j no segundo…depois faz system.out.println q retorna a variavel!
fmz

F

Eu peguei esse programa quase pronto, mas estou tentando finalizar, só que não estou entendendo esse D=outra(A,B);
mostra(D);.
Imagino que esse ‘mostra’ seja pra mostrar o resultado e ele seja inteiro. Mas onde declaro isso?

rafarcm

Bom então fale para qual e exatamente o problema que vc quer resolver…

Pelo q entendi desse programa ele pega duas matrizes e soma jogando o resultado em uma terceira. E esse o seu problema??

finch

le o q eu falei por ultimo!!! blz?
senao entende fala dnovo …

F
finch:
então ...

entao faça assim crie um método q receba por parametro um int x[][] por exemplo faça uns 2 for com i no primeiro e j no segundo....depois faz system.out.println q retorna a variavel!
fmz

Não está feito? Aí:

public static void leia(int x[][]){ //início método leia
 		Scanner s=new Scanner(System.in);
 		
 		for(int i=0;i<5;i++){
 			 for(int j=0;j<3;j++){
 			 	
 		System.out.println("informe linha" +i+ "coluna" +j );
 			 	 x[i][j]=s.nextInt();
 			 }
 		}
rafarcm:
Bom então fale para qual e exatamente o problema que vc quer resolver..

Pelo q entendi desse programa ele pega duas matrizes e soma jogando o resultado em uma terceira. E esse o seu problema??

Sim, só que pelo que entendi, esse módulo:

public static int[][] outra (int x[][],int y[][]){
  	 int Z [][]= new int [5][3];
  	    for(int L=0;L<5;L++){
  	    	for(int C=0;C<3;C++){
  	    		Z[L][C]= X[L] [C] * Y [L] [C];
  	    		
  	    		
  	    		}
          } 
 	return Z;

deveria mostrar.
Não sei o que significa essa parte:
D=outra(A,B);
mostra(D);

rafarcm

Este metodo outra esta multiplicando os valores da matriz tipo multiplique o valor da primeira linha primeira coluna de x com o valor da primeira linha segunda linha de y e coloque o resultado na primeira linha segunda coluna de z re torna o z.

Depois deveria existir um método mostra q imprime os valores contidos em z.

Se o seu problema e so somar as matrizes este método outra pode ser removido.

Se vc precisa multiplicar matrizes refaça este método pois a multiplicação de matrizes não e simples como so multiplicar os valores.

O método mostra deve ser para imprimir valores de matrizes, mas ele não esta implementado… Implemente fazendo laços for varrendo a matriz e imprimindo seus valores…

Algumas dicas de boas praticas de programação em java.

Nome de variáveis simples devem ser sempre em tamnho minúsculo

por exemplo: int A[][] quando o certo deveria ser int a[][].

nome de variaveis compostas devem iniciar com letra minúscula e a segunda palavra inicia em letra maiuscula…

exmplo: nomePessoa

Assim tbm serve para métodos.

Tente dar nome aos métodos mais descritivos dizendo o q o método se propõe a fazer.

no seu caso por exemplo o método outra deveria ser algo como multiplicaMatriz().

Tente colocar os métodos e atributos em classes para q vc possar usar o melhor do java q é a orientação a objetos. Não coloque o código todo na classe maina ela so servira para executar seu objetos.

Bom cara acho eh isso espero ter podido ajudar. Qualquer duvida estamos ae ok.

Criado 24 de outubro de 2007
Ultima resposta 24 de out. de 2007
Respostas 11
Participantes 3