/* * To change this template, choose Tools | Templates * and open the template in the editor. */packagepackagelivro;/** * * @author winxp */importjava.util.Scanner;publicclassMatriz{publicstaticvoidmain(Stringargs[]){inti=1,j;doubledeterminante;doublea[][]=newdouble[3][3];while(i<=3){// for (i=1; i <=3 ; i++) {j=1;while(j<=3)// for (j=1; j <=3 ; j++){System.out.println("Digite o valor ["+i+"]"+"["+j+"]"+" da matriz");Scanneralpha=newScanner(System.in);a[i][j]=alpha.nextDouble();j++;}i++;}determinante=((a[1][1]*a[2][2]*a[3][3])-(a[1][3]+a[2][2]+a[3][1]));System.out.println("O determinante dessa matriz é: "+determinante);}}
e o erro eh o seguinte
run:
Digite o valor [1][1] da matriz
1
Digite o valor [1][2] da matriz
1
Digite o valor [1][3] da matriz
1
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at packagelivro.Matriz.main(Matriz.java:24)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 4 segundos)
qualquer valor que seja, quando eh pra passas pra matriz de posicçao [2][1] ele da esse erro e nao vai
pelo amor de deus, alguem pode me ajudar? (a linha 24 que apresenta o erro é a mesma linha 24 do codigo acima )
publicstaticvoidmain(Stringargs[]){inti=0,j;// alterei para 0, vetor, matriz, etc começa do 0(zero)doubledeterminante;doublea[][]=newdouble[3][3];while(i<3){// for (i=1; i <=3 ; i++) {// tirei o sinal de igual dessa linha j=0;// alterei para 0while(j<3)// for (j=1; j <=3 ; j++) // tirei o sinal de igual dessa linha{// coloquei o +1 para ficar as posicoes corretas para o usuarioSystem.out.println("Digite o valor ["+(i+1)+"]"+"["+(j+1)+"]"+" da matriz");Scanneralpha=newScanner(System.in);a[i][j]=alpha.nextDouble();j++;}i++;}// alterei essa linha. onde era 1 coloquei 0, onde era 2 coloquei 1 e onde era 3 coloquei 2determinante=((a[0][0]*a[1][1]*a[2][2])-(a[0][2]+a[1][1]+a[2][0]));System.out.println("O determinante dessa matriz é: "+determinante);}
/* * To change this template, choose Tools | Templates * and open the template in the editor. */packageteste;importjava.util.Scanner;publicclassMatriz{publicstaticvoidmain(Stringargs[]){inti=0,j;doubledeterminante;doublea[][]=newdouble[3][3];while(i<3){// for (i=1; i <=3 ; i++) {j=0;while(j<3)// for (j=1; j <=3 ; j++){System.out.println("Digite o valor ["+(i+1)+"]"+"["+(j+1)+"]"+" da matriz");Scanneralpha=newScanner(System.in);a[i][j]=alpha.nextDouble();j++;}i++;}}}
T
thiago_258_
alterei o codigo para isso:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */packagepackagelivro;/** * * @author winxp */importjava.util.Scanner;publicclassMatriz{publicstaticvoidmain(Stringargs[]){inti=0,j;doubledeterminante;doublea[][]=newdouble[3][3];while(i<=3){// for (i=1; i <=3 ; i++) {j=0;while(j<3)// for (j=1; j <=3 ; j++){System.out.println("Digite o valor ["+i+"]"+"["+j+"]"+" da matriz");Scanneralpha=newScanner(System.in);a[i][j]=alpha.nextDouble();j++;}i++;}determinante=((a[0][0]*a[1][1]*a[2][2])-(a[0][2]+a[1][1]+a[2][0]));System.out.println("O determinante dessa matriz é: "+determinante);}}
e agora este erro aparece
run:
Digite o valor [0][0] da matriz
1
Digite o valor [0][1] da matriz
2
Digite o valor [0][2] da matriz
3
Digite o valor [1][0] da matriz
4
Digite o valor [1][1] da matriz
5
Digite o valor [1][2] da matriz
6
Digite o valor [2][0] da matriz
7
Digite o valor [2][1] da matriz
8
Digite o valor [2][2] da matriz
9
Digite o valor [3][0] da matriz
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at packagelivro.Matriz.main(Matriz.java:24)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 5 segundos)
estou confuso :cry:
M
Marcus_Carvalho
Retire o "igual" desta linha:
while (i <=3) {
H
henriquejhc
O código que eu postei está rodando direitinho. Uma matriz 3X3.
T
thiago_258_
Nossa, completo erro meu
Desculpe-me, achei que tinha tirado o = já
È que ja estava “viciado” nesse código e nem reparei que apesar de querer ainda nao havia rancado o =