GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

[RESOLVIDO] Dúvidas sobre Array

mvc
arraylist
java
array
Tags: #<Tag:0x00007fa6c53d9b18> #<Tag:0x00007fa6c53d99d8> #<Tag:0x00007fa6c53d97d0> #<Tag:0x00007fa6c53d9668>
#1

Galera, preciso de ajuda para entender como funciona Array. No caso estou montando um programa teste (usando MVC) que cria uma conta bancaria. Porem para eu chamar uma confirmaçao na View vinda do Controller, queria usar o Array para alocar as informações que o usuario digitou na View, antes de mandar para o Model. Aqui está a parte do codigo da View:

 private void jBInserirActionPerformed(java.awt.event.ActionEvent evt) { 
        // i referencia o Model; c referencia o Controller.           
        i.setConta(Integer.parseInt(jTFConta.getText()));
        i.setNome(jTFNome.getText());
        i.setSaldo(Double.parseDouble(jTFSaldo.getText()));
        i.setLimite(Double.parseDouble(jTFLimite.getText()));            
        c.mostraDados(i);
}    

No caso estou mandando como parâmetro para o Controller a referência ao objeto em que antes joguei as informações. Mas em vez de mandar a referência do objeto queria usar o Array ai. Como proceder? (PS.: Mexo com NetBeans, e so tem uns 10 dias kkk então sejam bem simplistas por favor rsrs)

E sou novo aqui no GUJ, prazer galera! Meu nome é Sávio! Tamo junto hehe xD

0 Likes

#2

Outra dúvida sobre Array:

Se array eh tipo uma variável especial, mas tratamos ela como objeto (afinal tem q meio q instanciá-la neh? Me corrijam caso eu esteja errado), no caso teria que ter uma classe apenas para o Array, onde crio metodos de lançamento de informações, de acordo com oq preciso?

0 Likes

#3

A definição de variável é: todo e qualquer atributo passível de ter alterações em seu valor durante a execução de um determinado trecho de código.
Logo, não entendi a afirmação acima.

A definição de objeto é: instância de uma classe que corresponde a um elemento específico do tipo designado por esta classe. Logo, eu também não entendi isso.

Depende de muitas coisas, inclusive de como você quer construir teu código.

Primeiro, estamos falando de um array (vetor)?

int vetor[] = new int[10];

Ou estamos falando de um Array

Array vetor = new Array();

O que me assusta é isso:

E você afirmar isso

0 Likes

#5

Sobre esses tipos de array (sendo vetor ou não) em quais situações usaria cada um, e como usaria?

0 Likes

#6
int vetor[] = new int[10];

Este primeiro deve ser usado quando você precisa de um número específico e limitado de elementos.
O outro, por possuir alocação dinâmica de memória, pode ser usado quando você não sabe quantos elementos precisará comportar.

1 Like

#7

Nesse caso acima, ai teriamos que criar uma classe Array(), certo? Se sim, oq iria dentro dessa classe?

0 Likes

#8

A classe Array já existe, você só precisaria instanciá-la.
Existe, também, a classe Vector (que possui o mesmo comportamento), você não precisa criar nenhuma delas.

1 Like

#9

Mas ai no caso citado no inicio deste forum, em vez de eu mandar o objeto do model como parâmetro (algo bem quebra-galho mesmo), como faria pra declarar a array e passá-la como parâmetro pro controller? E no controller, como retornaria pro view as infos do model, sendo q na vdd to puxando de uma array? (Espero q tenha entendido minha duvida kk)

0 Likes

#10

Eu ainda não entendi onde quer usar esse array/vetor/whatever.

0 Likes

#11

No view o usuário digitou o numero da conta, o titular, o saldo inicial e o limite. Dai fiz os setters no model. No controller, criei um metodo onde ele retorna pro usuario uma confirmação dos dados q ele cadastrou. Porem como parametro, la no view qnd invoco o metodo, estou chamando diretamente o objeto. No caso estou fazendo certo, ou teria como em vez de chamar o objeto, criar uma array no lugar disso? Vou por o codigo explicando melhor:

        i.setConta(Integer.parseInt(jTFConta.getText()));
        i.setNome(jTFNome.getText());
        i.setSaldo(Double.parseDouble(jTFSaldo.getText()));
        i.setLimite(Double.parseDouble(jTFLimite.getText()));
        // Acima, realizo os setters no Model.
       // Abaixo, invoco o metodo do Controller onde ele mostrará 
       // a confirmação dos dados            
        c.mostraDados(i);      
        // Porém, estou passando no parametro diretamento a referencia do objeto.

Em vez disso, teria como eu criar uma array para mandar pro Controller, ou estou fazendo certo em passar diretamente a referencia do objeto?

0 Likes

#12

Cara, não complica.
O que você quer/precisa fazer?
Tenta explicar sem colocar view, controller, model e o escambau nisso.
Quais os requisitos que você quer implementar?

0 Likes

#13

Eu fiz dessa forma mas meu professor pediu pra por array. E tenho q usar MVC. Isso eh apenas um exercicio.

0 Likes

#14

Veja, você pode fazer do jeito que quiser.
Porém, o que eu entendo que foi pedido é para que você armazene os dados inseridos em um array e não usar o array para passar os dados de uma camada para outra.

0 Likes

#15

No caso oq ele pediu foi que, em vez de chamar o objeto, deveria criar um array. Porem ele nao disse onde nem como implementar, entende? Mas se eu jogar numa array e não for usar ela, não faz sentido criá-la, concorda?

0 Likes

#16

Cara, até o momento você não disse o que tem que fazer, só fala em view, model, objeto e etc.
Vamos falar igual gente normal, pra variar? Assim fica fácil dizer o que e como você pode fazer.

0 Likes

#17

Imagino que vc esteja tentando criar um cadastro de contas bancárias. E esse cadastro será armazenado num array.

Se for isso mesmo, você precisará criar um um array de contas bancárias. Onde a conta bancária é uma classe que possui os atributos da conta. Será algo mais ou menos assim:

ContaBancaria

public class ContaBancaria {
    // atributos da conta
}

Array para armazenar as contas bancárias

ContaBancaria[] contas = new ContasBancarias[10]; // Limitei a quantidade máxima de contas cadastradas no sistema em 10

Com isso, para inserir uma conta no array, vc faz:

ContaBancaria contaA = new ContaBancaria();
// preenche os dados da conta com o valores da tela

// Armazena no array na posição 0
contas[0] = contaA;
1 Like

#18

Perfeito! Valeu Lucas!

0 Likes