[RESOLVIDO] Me diga o que são arrays?

61 respostas
F

Pra que serve os arrays???

61 Respostas

J

http://www.gforum.tv/board/1345/120437/manual-java-arrays-em-java.html

F

Pelo o que eu entendi arrays são tipo variaveis q quardam mais coisas!!

Poderia dar um exemplo de um array???

J

no link que te passei está bem explicado, por favor, leia ele por inteiro

B

Array é um conjunto de variaveis de mesmo tipo, guardado dentro de apenas um identificador. No java você pode identificar a quantidade de elementos e o tipo.
por exemplo, para declarar um array de 10 inteiros: int teste[] = new int[10];// onde teste é o nome do identificador. Para gravar e acessar dados, você precisa
de um endereço, no caso desse array de 10, os endereços vão de 0 a 9. Para você pegar o elemento da posição 5, você faz teste[4], e assim vai.

P

array é como um conjunto de variavei se assim posso dizer. Ex.

int [] arrayInt = {1,2,3,4,5}; //Aqui um array que guarda 5 valores

//Resgatando valores
arrayInt.get(0); // pega o primeiro valor

Tendeu ?

F

ok…valew pela ajuda!!! Agora consegui entender o que era array…esclareceu bem a miha duvida… :wink:

F

Esse é o array mais simples??? Que vai de 0 a 10 até o 90!! Mais parce q existe outro tipo de arrays!!

public static void main(String[] args) {

int[] idades = new int[10];

for (int i = 0; i < 10; i++) {

idades[i] = i * 10;

}

for (int i = 0; i < 10; i++) {

System.out.println(idades[i]);

}

}

}
P
public static void main(String[] args) {
int[] idades = new int[10];
for (int i = 0; i < 10; i++) {
idades[i] = i * 10;    // Aqui ele está carregando o array que tem 10 posições no máximo um por vez
}
for (int i = 0; i < 10; i++) {
System.out.println(idades[i]); // aqui ele imprime um valor por vez
}
}
}

Lembre que a contagem de itens no array começa no 0 (ZERO) ou seja para um array com 10 valores as posições seriam de 0 a 9

K

Tem os List da vida também. Da uma pesquisada em collections porque é muito interessante e importante!!

E

ByIvo:
Array é um conjunto de variaveis de mesmo tipo, guardado dentro de apenas um identificador. No java você pode identificar a quantidade de elementos e o tipo.
por exemplo, para declarar um array de 10 inteiros: int teste[] = new int[10];// onde teste é o nome do identificador. Para gravar e acessar dados, você precisa
de um endereço, no caso desse array de 10, os endereços vão de 0 a 9. Para você pegar o elemento da posição 5, você faz teste[4], e assim vai.

conjunto de variáveis de mesmo tipo :shock:

E

caro. array vc pode traduzir como uma fila que pode ser de qquer coisa desde que sejam de mesmo modelo. Ex. fila de carros. 1º vermelho modelo volks, 2º amarelo modelo fiat etc… a vantagem do array é que quando vc estabelece o tamanho existe a reserva da memoria (isso pode ser problema) e quando vc acessa faz isso apenas pela posição. as informações vc tem no modelo de array que vc criou. o mais simples é o contador que vc conheceu acima

F

Brigado á tds…Proxima etapa agora é aprender sobre VETOR BIDIMENSIONAL!!! Alguem tem alguma dica aí???

L

Claro amigo!

Aqui tem uma leva de material bem interessante…

[]'s

F

asuhsuahaushuasuahs

F

Como q faz pra postar a mensagem com o parametro q o nosso amigo Polverini postou???

L

Mas enfim,

A maneira mais facil que eu vejo de entender o que é matriz na programação, é relaciona-la com a matriz da matematica. A ideia é a mesma: armazenar varios valores como se estivessemos tratando uma tabela com linhas e colunas.

Seria mais ou menos assim a visualização:

[linha 0, coluna 0] [linha 0, coluna 1] [linha 0, coluna2]
[linha 1, coluna 0] [linha 1, coluna 1] [linha 1, coluna 2]

Sendo assim vc pode percorrer uma matriz da seguinte forma:

int[][] matriz = new int[2][2];
for(int x = 0 ; x < matriz.length ; x++){
     for(int y = 0 ; y < matriz[x].length; y++){
             //Acessa elemento na posicao [x][y]
    }
}

Perceba que no “new int[2][2]” é onde vc defini o tamanho que sua matriz tera! Nesse caso seria uma matriz 2x2! Para uma matriz 3x2 , por exemplo, seria “new int[3][2]”.

Não sei se fui claro, mas ja é um inicio…

[]'s

F

Valew pela ajuda lucas!!!^^

Como q vc fez pra postar a mensagem com esse parametro???

L

Basta colocar o codigo dentro das tags [code ] [/ code]!

F

OK!!

int[][] matriz = new int[10][10];   
		        Scanner leitor = new Scanner();   
		           
		        for (int i = 0; i < 10; i++ ) {   
		        for (int j = 0; j < 10; j++ ) {   
		                System.out.print("Linha " + (i + 0) + " Coluna " + (j + 1) + ": ");   
		                matriz[i][j] = leitor.nextInt();   
		                System.out.println("");   
		            }   
		        }   
		        System.out.println("\n");
		        System.out.println("Agora, apresentando a matriz\n\n");   
		           
		        for (int i = 0; i < 10; i++) {   
		        for (int j = 0; j < 10; j++) {   
		                System.out.print(matriz[i][j] + "   ");   
		            }   
		            System.out.println("");   
		        }   
		           
		        System.out.println("Fim");   
		           
		           
		}   
}
L

Isso foi só para testar as tags, ou vc tem alguma duvida quanto ao codigo?

F

Intão…começei a pouco tempo a entrar nessa area do java, quando começei num sabia nem o q era a linguagem java. Agora estou começando a entende-lá!!!

Viu, se puder passar o msn

L

Kra,

me adicionar no msn nao adianta muito não…
Devido ao tempo extremamente corrido MTU, mas muito mesmo, raramente estou online!

É mais facil vc me encontrar aqui no Guj do que lá!

xD

Estas com mais alguma duvida de imediato?

F

hsausahusauh…depois da sua explicação consegui entender melhor!!! Valew mesmo cara!!
Agora tenho q sair…daqui a pouco bora ir na escola :?

L

Ok!

De qualquer forma lhe enviei por mp meu e-mail…

Se precisar de ajuda é so gritar la!

Boa sorte!

[]'s

F

ok ok…já ta add ;D

F
int[][] matriz = new int[10][10];     
        Scanner leitor = new Scanner();     
             
        for (int i = 0; i < 10; i++ ) {     
        for (int j = 0; j < 10; j++ ) {     
                System.out.print("Linha " + (i + 0) + " Coluna " + (j + 1) + ": ");     
                matriz[i][j] = leitor.nextInt();     
                System.out.println("");     
            }     
        }     
        System.out.println("\n");   
        System.out.println("Agora, apresentando a matriz\n\n");     
             
        for (int i = 0; i < 10; i++) {     
        for (int j = 0; j < 10; j++) {     
                System.out.print(matriz[i][j] + "   ");     
            }     
            System.out.println("");     
        }     
             
        System.out.println("Fim");     
             
             
}

alguem poderia me explicar essa linha??

Scanner leitor = new Scanner();
L

Ola Felipe!

O scanner é uma classe java que permite entrarmos com dados via console.

Atravez do Scanner é que vc consegue fazer com que um usuario digite um certo dado para o seu programa. Lembrando que isso tudo é valido quando estamos trabalhando no console.

Na linha:

matriz[i][j] = leitor.nextInt();

È solicitado que o usuario digite um inteiro. Caso fosse uma String por exemplo, fariamos:

matriz[i][j] = leitor.nextLine();

E assim por diante…

Compreendeu?

[]'s

N
FelipePaes:
int[][] matriz = new int[10][10];     
        Scanner leitor = new Scanner();     
             
        for (int i = 0; i < 10; i++ ) {     
        for (int j = 0; j < 10; j++ ) {     
                System.out.print("Linha " + (i + 0) + " Coluna " + (j + 1) + ": ");     
                matriz[i][j] = leitor.nextInt();     
                System.out.println("");     
            }     
        }     
        System.out.println("\n");   
        System.out.println("Agora, apresentando a matriz\n\n");     
             
        for (int i = 0; i < 10; i++) {     
        for (int j = 0; j < 10; j++) {     
                System.out.print(matriz[i][j] + "   ");     
            }     
            System.out.println("");     
        }     
             
        System.out.println("Fim");     
             
             
}

alguem poderia me explicar essa linha??

Scanner leitor = new Scanner();

Claro que sim! A Oracle tem uma ótima explicação aqui.
Felipe, é importante realizar pesquisas e evitar o famoso "Copiar e Colar" código sem estuda-lo e/ou principalmente, sem saber o que exatamente ele fez.
Digo, pois, se o seu código tem a linha citado e você não sabe o que faz, é porque copiou, não foi?

Abraços colega.

F
  • ou - Lucas!!! :S

Intão NEL é q eu pego e vou conferindo ele parte por parte!!

N

FelipePaes:
+ ou - Lucas!!! :S

Intão NEL é q eu pego e vou conferindo ele parte por parte!!

Hum! Certo.
Mas saiba o que faz e conheça bem essas classes, posteriormente, você vai usa-las sem problema algum! 8)
Bons estudos.

Abraços.

L

O que não ficou claro?

F

lucasgcp:
Ola Felipe!

O scanner é uma classe java que permite entrarmos com dados via console.

Atravez do Scanner é que vc consegue fazer com que um usuario digite um certo dado para o seu programa. Lembrando que isso tudo é valido quando estamos trabalhando no console.

Na linha:

matriz[i][j] = leitor.nextInt();

È solicitado que o usuario digite um inteiro. Caso fosse uma String por exemplo, fariamos:

matriz[i][j] = leitor.nextLine();

E assim por diante…

Compreendeu?

[]'s

A parte do Console…Como assim entrar com dados no console???

L

Bom,

Se vc ja tiver compilado esse codigo, deve ter reparado que ele abre uma telinha preta certo? Esse é o console…
Geralmente quem estas a aprender a programar, cria seus programas em cima dele…

Porem quando vc começar a trabalhar com interface grafica, nao utilizara mais o Console, e consequentemente nao utilizara mais o Scanner…

F

lucasgcp:
Bom,

Se vc ja tiver compilado esse codigo, deve ter reparado que ele abre uma telinha preta certo? Esse é o console…
Geralmente quem estas a aprender a programar, cria seus programas em cima dele…

Porem quando vc começar a trabalhar com interface grafica, nao utilizara mais o Console, e consequentemente nao utilizara mais o Scanner…

Intão…vc queria dizer o cmd??? agora eu to aprendendo no eclipse!!

L

HuaHuaHuaHua

No eclipse se nao me engano tem uma aba naquela janelinha que fica em baixo do codigo (onde tem “Problems”, “JavaDoc” e etc) que se chama Console.

Quando o programa chegar naquela linha que tem o “leitor.nextInt”, a execução ficara parada ate que vc digite um numero la no console…

Ou seja, nao se trata do cmd não… é um console mesmo… em alguns compiladores o console se assemelha ao cmd, mas nao vem ao caso…

Mais vc intendeu o funcionamento do scanner?

F

Olha lucas agora compreendi o q vc queria dizer com o console, é o compilador…mais tipo num ta entrando na minha cabeça esse negocio de Scanner…fiquei essa manhã inteira procurando alguma resposta e até agora não cheguei a nenhuma conclusão!!! :S

L

Imaginemos a seguinte situaçao:

Voce esta criando um programa para somar dois numeros. Porem vc quer que o usuario defina quais numeros serao somados, como na calculadora…

Sendo assim voce precisa que o usuario digite esses dois numeros certo? Para que assim vc possa soma-los em seu programa… E ai que o Scanner entra… É atraves do scanner que vc solicita ao usuario que digite algo…

System.out.print("Digite o primeiro numero a ser somado : ");
int numero = leitor.nextInt();

System.out.print("Digite o segundo numero a ser somado : ");
int numero2 = leitor.nextInt();

Seguindo esse codigo, primeiramente iria se imprimir a mensagem “Digite o primeiro numero a ser somado :”. Apos isso o programa iria ficar esperando que o usuario digitasse um numero, pq essa ação foi solicitada pelo seu Scanner atraves do codigo “leitor.nextInt()”. Sendo assim a mensagem “Digite o segundo numero a ser somado :” só iria aparecer apos o usuario digitar o primeiro numero solicitado…

É para isso que serve o scanner… Para solicitar que o usuario entre com uma informaçao para se programa, e enquanto ele nao digitar essa informaçao solicitada, a execuçao do programa não prossegue…

Deu para compreender melhor?

F

Nossa cara valew mesmo…agora deu pra entender sim…Vou botar em pratica o q vc falou!!

L

Fico feliz que tenha compreendido!

Agora manda brasa, e qualquer duvida é só perguntar!

[]'s

F

ok…pode deixar, agora vou ter q ir pra escola…hasuhasuhsau
Certamente amanha terei mais duvidas…abrass

F

lucasgcp:
Imaginemos a seguinte situaçao:

Voce esta criando um programa para somar dois numeros. Porem vc quer que o usuario defina quais numeros serao somados, como na calculadora…

Sendo assim voce precisa que o usuario digite esses dois numeros certo? Para que assim vc possa soma-los em seu programa… E ai que o Scanner entra… É atraves do scanner que vc solicita ao usuario que digite algo…

System.out.print("Digite o primeiro numero a ser somado : ");
int numero = leitor.nextInt();

System.out.print("Digite o segundo numero a ser somado : ");
int numero2 = leitor.nextInt();

Seguindo esse codigo, primeiramente iria se imprimir a mensagem “Digite o primeiro numero a ser somado :”. Apos isso o programa iria ficar esperando que o usuario digitasse um numero, pq essa ação foi solicitada pelo seu Scanner atraves do codigo “leitor.nextInt()”. Sendo assim a mensagem “Digite o segundo numero a ser somado :” só iria aparecer apos o usuario digitar o primeiro numero solicitado…

É para isso que serve o scanner… Para solicitar que o usuario entre com uma informaçao para se programa, e enquanto ele nao digitar essa informaçao solicitada, a execuçao do programa não prossegue…

Deu para compreender melhor?

Mais uma duvida rapidinho!!! Quando vc solicidou ao usuario pra ele escolher o numero a ser somado, aonde q o usuario ira escolher o numero?? O local q o usuario devera escolher o seu numero!!

L

Seria nessa linha:

int numero = leitor.nextInt();

Nesse caso o leitor solicita que o usuario digite um numero inteiro, e guarda esse valor que ele digitou na variavel numero!

Caso vc esteja perguntado onde o usuario ira digitar o numero, será no console que tinha te falado…

F

Viu Lucas…mais no console num dá pra digitar nada, ele só execulta o programa num é???

L

Nao Nao…

Da para digitar sim…

F

Dá pra digitar quando ele esta vazio…mais quando execulta alguma coisa eu axo q num dá não…

L

Da sim manow…

vc ja compilou o codigo?

F

Já já

L

Entao kra…

quando vc compilar o codigo, ira abrir uma janelinha branca la embaixo (console).

quando chegar na linha em q vc solicita entrada de dados o programa para como havia lhe falado…

Ai é so vc digitar la naquele quadrinho branco que funciona tranquilo…

Lembrando,

esqueci de te falar ontem, que a declaração do seu Scanner ta faltando argumentos.

tente assim:

Scanner leitor = new Scanner(System.in);

[]'s

F

Sei lá viu…eu uso esse eclipse http://www.eclipse.org/downloads/packages/eclipse-classic-362/heliossr2 !!!
Vê se é o mesmo q o seu… as vezes é diferente :S

L

Eh sim…

tbm uso o Helios…

F

Intão ta bom…Valew :wink:

F

Qunado vc for criar um array vc utiliza o new int?? Pra q seria esse new??

P.exemplo: int[] felipe = new int[16];

L

Isso acontece, pq em java todos os vetores são tratados com objetos. Isso faz com que eles tenham que ser instanciados…

o “new int” nada mais é do que a criação de uma instancia…

Para entender melhor isso, sugiro que vc começe a estudar classes… Ai vc vai ter uma ideia melhor do que é uma instancia…

F

tendi…tipo o new cria uma estrutura né!! Ele serva pra criar como por exemplo uma classe…é isso??

L

Não não…

O new cria uma instancia… nao tem nada a ver com criar classe não…

Ele apenas instancia a classe, mas ela ja deve estar criada…
Voce instancia ela para poder utiliza-la em outras classes…

F

\o/

F
Eu queria saber como q faz a concatenação desse array!
public class Arrays {
	public static void main(String[] args) {
		char [][] mouse = new char[0][10];
		
		mouse[0][1] = 'f';
		mouse[0][2] = 'e';
		mouse[0][3] = 'l';
		mouse[0][4] = 'i';
		mouse[0][5] = 'p';
		mouse[0][6] = 'e';
		mouse[0][7] = 'a';
		mouse[0][8] = 'e';
		mouse[0][9] = 's';
		
		System.out.println(mouse[0][1]) +  " - " System.out.println(mouse[1][0]);
		System.out.println(mouse[0][2]) +  " - " System.out.println(mouse[2][0]);
		System.out.println(mouse[0][3]) +  " - " System.out.println(mouse[3][0]);
		System.out.println(mouse[0][4]) +  " - " System.out.println(mouse[4][0]);
		System.out.println(mouse[0][5]) +  " - " System.out.println(mouse[5][0]);
		System.out.println(mouse[0][6]) +  " - " System.out.println(mouse[6][0]);
		System.out.println(mouse[0][7]) +  " - " System.out.println(mouse[7][0]);
		System.out.println(mouse[0][8]) +  " - " System.out.println(mouse[8][0]);
		System.out.println(mouse[0][9]) +  " - " System.out.println(mouse[9][0]);
	}
}

Eu não estou sabendo como fazer a unção dos 2!!

P.exemplo =
System.out.println(mouse[0][1])[u] + " - " [/u]System.out.println(mouse[1][0]);
N

Oi!

Amigo, creio que já entendeu o que são arrays e agora sua dúvida é outra.
Diria para dar esse tópico como resolvido (Edite seu tópico e adicione [Resolvido] ao fim deele) e crie um novo, com a sua dúvida.

Essa sua pergunta já foi respondida no minimo em três tópicos aqui do GUJ mesmo, basta pesquisar.
E um detalhe ao seu código, você somente fez inserção na matriz na posição 0 - X e não há nenhuma inserção na posição 1 - X, portanto, se tentares acessar a matriz na posição 1 - X, com certeza não terá nada e vai gerar problemas.

Abraços.

F

hãã…vou criar outro intão!!!

N

Show! Só adicione [Resolvido] ao fim do seu tópico ok?
Abraços amigo.

F

RESOLVIDO

Criado 3 de junho de 2011
Ultima resposta 24 de jun. de 2011
Respostas 61
Participantes 9