Comecei a desenvolver esse programinha para aprender alguns conceitos. O usuario insere nome, endereco e idade. Quero fazer uma ArrayList para que os dados fiquem inseridos em uma determinada posicao pra cada usuario.
import java.util.Scanner;
import java.util.ArrayList;
public class Contatos {
public static void main(String[] args) {
String nome;
int idade;
String endereco;
Scanner input = new Scanner(System.in);
System.out.println("Digite o nome do contato");
nome = input.nextLine();
System.out.println("Digite o endereco do contato");
endereco = input.nextLine();
System.out.println("Digite a idade do contato");
idade = input.nextInt();
System.out.println ("O usuario " +nome+ " Do endereco " +endereco+ " tem iade " +idade);
}
}
O ArrayList por padrão insere os objetos na ordem em que você os adiciona, mas também possui um método set() que recebe um índice se não me engano, agora não sei como ele controla índices nulos, porque nunca usei dessa maneira.
[quote=digaoneves]O ArrayList por padrão insere os objetos na ordem em que você os adiciona, mas também possui um método set() que recebe um índice se não me engano, agora não sei como ele controla índices nulos, porque nunca usei dessa maneira.
Você está tendo algum problema com o ArrayList ?[/quote]
na realidade estou acompanhando informacoes em livros, mas nao to conseguindo entender como se faz…
Um ArrayList é uma implementação de List, que é basicamente um array melhorado, facilitando muito a vida do desenvolvedor. você consegue dar um tipo para essa lista, como faz com um array quando o declara.String[] array;Segue exemplo:List<String> lista = new ArrayList<String>();
lista.add("Meu primeiro registro"); // Agora você possui um ArrayList com 1 item
lista.add("Meu segundo registro"); // Agora você possui um ArrayList com 2 itensE o índice da lista também começa no 0, então para recuperar os valores do exemplo anterior faça assim:String str = lista.get(0); // Retorna o primeiro registroConseguiu entender?
[quote=ssh]agora p/ você criar um ArrayList de Usuários você precisa de uma classe chamada “Usuário” que contenha o construtor e os métodos getters and setters.
feito isso crie um
ArrayList<Usuario> lista_usuario = new ArrayList<Usuario>();
lista_usuario.add("fulano", "20 anos");
[/quote]
não, cara… tem que instanciar o Usuario. List<Usuario> listaUsuarios = new ArrayList<Usuario>();
listaUsuarios.add(new Usuario("fulano", "20 anos"); Isso assumindo que Usuario tem um construtor que recebe 2 Strings.
Um ArrayList é uma implementação de List, que é basicamente um array melhorado, facilitando muito a vida do desenvolvedor. você consegue dar um tipo para essa lista, como faz com um array quando o declara.String[] array;Segue exemplo:List<String> lista = new ArrayList<String>();
lista.add("Meu primeiro registro"); // Agora você possui um ArrayList com 1 item
lista.add("Meu segundo registro"); // Agora você possui um ArrayList com 2 itensE o índice da lista também começa no 0, então para recuperar os valores do exemplo anterior faça assim:String str = lista.get(0); // Retorna o primeiro registroConseguiu entender?
[/quote]
E ai, beleza? Achei muito boa sua explicacao e imaginei que tinha entendido…mas na hora de fazer deu erro e nao consegui. Comecei a fazer-lo como imaginei, depois verifiquei que estava quase como a apostila FJ11, mas nao consegui fazer um ArrayList para iserir cada cliente:
public class Conta {
String titular;
int numero;
double saldo;
double limite;
void saca (double quantidade){
saldo -= quantidade;
}
void deposita (double quantidade){
saldo += quantidade;
}
}
import java.util.Scanner;
public class Programa {
public static void main(String[] args) {
Conta conta = new Conta();
conta.titular = "joao";
conta.numero = 563421;
conta.saldo = 0;
conta.limite = 500;
conta.deposita(112);
conta.saca(637);
if ((conta.saldo + conta.limite) < 0 ){
System.out.println("O usuario " +conta.titular+ " da conta " +conta.numero+
" nao tem saldo suficiente");
}else{
System.out.println ("O usuario " +conta.titular+ " da conta " +conta.numero+
" possui um saldo de " +conta.saldo+ "\n e com o limite o saldo eh "
+(conta.saldo + conta.limite));
}
}
}