Boa noite, Estou fazendo um curso técnico em informatica e estou vendo java e estou tendo dificuldade com o Banco de dados e com ArrayList
na parte de Banco de dados a conexão está de boa, porém a professora passa exercícios complicados e não consigo resolver.
ArrayList foi um assunto que atrasei estou relendo, mas bugou muito a mente.
Como faço para melhorar, estou estudando muito pois estou com nota baixa e preciso recuperar, programo em C um pouco bem, mas como agora é OO, bugou muito.
Com relação ao banco de dados, recomendo fortemente que acompanhe esta playlist do Curso em Vídeo:
Vale muito a pena, eu consigui entender bastante coisa com este material. Nos vídeos, o Guanabara usa MySQL e mesmo que a sua professora esteja usando algum outro sistema gerenciador de banco de dados, ainda assim recomendo, pois alguns conceitos são universais.
Sobre ArrayList, o que exatamente vc não tá entendendo?
Não tem segredo. Em Java, quando vc cria um array comum é necessário informar o tamanho desse array.
// array criado com capacidade (explicita) para 10 elementos
int[] a = new int[10];
// array criado com capacidade (implicida) para 3 elementos
int[] b = { 1, 2, 3 };
O problema é que nem sempre vc sabe quantos elementos serão inseridos neste array e o ArrayList resolve isso por aumentar sua própria capacidade a medida que vc vai inserindo elementos nele.
// cria um ArrayList de números inteiros
ArrayList<Integer> c = new ArrayList<Integer>();
c.add(1);
c.add(2);
// cria um ArrayList de Strings
ArrayList<String> d = new ArrayList<String>();
d.add("Segunda");
d.add("Terça");
// cria um ArrayList de pessoas (faz de conta que vc criou uma classe Pessoa)
ArrayList<Pessoa> e = new ArrayList<Pessoa>();
e.add(new Pessoa("Maria"));
e.add(new Pessoa("João"));
Acredito que a parte mais complexa é isso: <String> ou <Integer>
Deixando de lado qualquer coisa tecnica, esta parte serve apenas para informar que tipo de dados vc quer armazenar naquele array.
É possível criar ArrayList sem essa parte, mas isso não é recomendado.
Vc só precisa ficar atento ao seguinte: não é possível armazenar tipos primitivos num ArrayList, então boolean, char, byte, short, int, long, float e double não são aceitos.
É necessário usar as versão alternativas deles que são: Boolean, 'Character,Byte,Short,Integer,Long,FloateDouble`.
Logo:
ArrayList<float> f = new ArrayList<float>(); // não pode isso
ArrayList<Float> g = new ArrayList<Float>(); // isso pode!
Mas explica melhor a parte que vc não tá conseguindo absorver.
Como pode ver estou com muita dúvida, entendo banco de dados, a classe conexão já está pronta e ContatoDAO só depois que fizer a Principal, mas estou sem lógica para fazer isso aí.
Tenho que inserir Contatos dentro de uma ArrayList porém não só um , mas sim vários, tentei varias maneiras.
@JGeanC,Bom dia,
Estou dando essa solução imaginando que sua classe Contato tenha esses atributos:
public class Contato {
private String nome;
private String telefone;
private String email;
public Contato() {
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
Para o bloco de codigo que voce mandou o Print de tela sugiro utilizar algo nesse formato:
Contato c = new Contato();
System.out.println(“Digite o nome”);
c.setNome(ler.nextLine());
System.out.println(“Digite o Telefone”);
c.setTelefone(ler.nextLine());
System.out.println(“Digite o email”);
c.setEmail(ler.nextLine());
cone.Add( c );
Estou levando em consideração que a cone seja um ArrayList do tipo Contato