gente o codigo esta abaixo eu não consigo executar ele no terminal do blueJ de jeito nenhum, alguem pode me dizer o que é?
[code]import java.util.*;
public class VetorBidimensional{
public static void main(String[]Args)
{
int A=0, B=0, n1=1, n2=1, cont=1, cont1=1;
int vet[][] = new int[21][21];
Scanner n= new Scanner(System.in);
for(cont=1;cont<=20;cont=+1);
{
System.out.println("Entre com o "+n1+"º valor da linha");
vet[cont][cont1]=n.nextInt();
n1=n1+1;
System.out.println(vet[cont][cont1]);
System.out.println("-----------------------------------------------------------");
for(cont1=1;cont1<=20;cont=+1);
{
System.out.println("Entre com o "+n2+"º valor da coluna");
vet[cont][cont1]=n.nextInt();
n2=n2+1;
System.out.println(vet[cont][cont1]);
System.out.println("-----------------------------------------------------------");
}
}
}
Cara tem algumas coisas erradas no seu codigo a principio modifique seu for tirando a virgula da frente do for, a indexação da matriz se inicia em 0 deixe seu for assim:
public static void main(String[]Args)
{
int n1=1, n2=1, cont=1, cont1=1;
int vet[][] = new int[21][21];
Scanner n= new Scanner(System.in);
for(cont = 0; cont < 20; cont++)
{
System.out.println("Entre com o "+n1+"º valor da linha");
vet[cont][cont1]=n.nextInt();
n1=n1+1;
System.out.println(vet[cont][cont1]);
System.out.println("-----------------------------------------------------------");
for(cont1=1;cont1<=20;cont=+1);
{
System.out.println("Entre com o "+n2+"º valor da coluna");
vet[cont][cont1]=n.nextInt();
n2=n2+1;
System.out.println(vet[cont][cont1]);
System.out.println("-----------------------------------------------------------");
}
}
}
Tem algumas coisas erradas no seu código quanto a parte da lógica.
Por exemplo, voce está criando uma matriz [21]x[21], isso significa que terá
441 posicoes!
Se quiser apenas 42 posicoes pode criar dois vetores de 21 posições.
int vet[] = new int[ 21 ];
int vet2[] = new int[ 21 ];
Aí estaria tudo OK.
o 1o. ‘for’, do seu código, adiciona novos valores em cada linha. ou seja
[0][1] = “inteiro digitado”;
[1][1] = “inteiro digitado”;
[2][1] = “inteiro digitado”;
[3][1] = “inteiro digitado”;
etc
O 2o. ‘for’ muda a coluna
[20][1] = “inteiro digitado”;
[20][2] = “inteiro digitado”;
[20][3] = “inteiro digitado”;
etc
Para criar uma Matriz e inserir novos valores nela,
vc deve criar um for dentro de outro, por ex.
Matriz de 4 posicoes
Coluna
Linha [0] [1]
[0] [1]
for ( int i = 0; i < 2; i++ )
for ( int j = 0; j < 2; j++ )
vet[ i ][ j ] = "novo_inteiro";
Aconselharia você a estudar lógica de programação. Aprender sobre teste de mesa etc.
O livro do Deitel - Java como programar, também é ótimo para iniciantes.
É só pesquisar na net que acha ele, tem até em portugues.
public class VetorBidimensional{
public static void main(String[]Args)
{
int n1=0, n2=1, cont=0, cont1=0;
int vet[][] = new int[3][3];
Scanner n= new Scanner(System.in);
for(cont = 1; cont <=2; cont+=1)
{
n1=n1+1;
for(cont1=1;cont1<=2;cont+=1)
{
System.out.println("está é a "+n1+"º linha e "+n2+"º coluna");
vet[cont][cont1]=n.nextInt();
n2=n2+1;
System.out.println(vet[cont][cont1]);
System.out.println("-----------------------------------------------------------");
}
}
}
}[/code]
o erro é o seguinte ArrayIndexOfBoundsException 4, sempre quando eu rodo entra a primeira linha, quando é para ir para a segunda bug!
já mudei tbm e nada, a linha que esta dando problema vou colocar em negrito…
“ArrayIndexOfBoundsException 3”
[code]
import java.util.*;
public class VetorBidimensional{
public static void main(String[]Args)
{
int n1=0, n2=1, cont=0, cont1=0;
int vet[][] = new int[3][3];
Scanner n= new Scanner(System.in);
for(cont =0; cont <=1; cont+=1)
{
n1=n1+1;
for(cont1=0;cont1<=1;cont+=1)
{
System.out.println("está é a "+n1+"º linha e "+n2+"º coluna");
[b]vet[cont][cont1]=n.nextInt();[/b]
n2=n2+1;
System.out.println(vet[cont][cont1]);
System.out.println("-----------------------------------------------------------");
}
}
Cara eu tenho algumas sugestões para você você pode acata las ou não, são algumas dicas apenas eu fiz a modificação no código e vou postar aqui com comentários:
public static void main(String[] Args) {
int vet[][] = new int[2][2]; /*como você vai armazenar 4 valores sua matriz pode ser 2x2*/
Scanner scanner = new Scanner(System.in); /*use nomes mais sujestivos você estava usando n para um Scanner*/
for(int i = 0; i < 2; i++) { /*o for possibilita a criação da variavel como foi feito neste casso, quando o incremento for de 1 utilize o operador ++*/
for(int j = 0; j < 2; j++) {
System.out.println("está é a " + (i + 1) + "º linha e " + (j + 1) + "º coluna"); /*não é necessario a criação de novas variaveis para apresentar a mensagem utilize as proprias variaveis do for*/
vet[i][j] = scanner.nextInt();
System.out.println(vet[i][j]);
System.out.println("-----------------------------------------------------------");
}
}
}