Olá, estou fazendo uma lista de JAVA e como iniciei a pouco tempo estou com um pequeno problema na hora da compilação, irei marcar o local do erro.
Classe Mainimport java.sql.Date;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Scanner;
public class Main {
static List<Contato> listaContatos = new ArrayList<>();
static int verificar;
public static int checar(Long id, int verificar) {
for (int i = 0; i < listaContatos.size()+1; i++) {
if (listaContatos.get(i).getId() == id) { <================== /*O erro é aqui*/
verificar = i;
} else
verificar = -1;
}
return verificar;
}
public static void main(String[] args) throws Throwable {
int opcao = 0;
while (opcao != 4) {
System.out.println("********MENU********");
System.out.println("1 - Adicionar novo contato");
System.out.println("2 - Listar todos os contatos");
System.out.println("3 - Excluir contato");
System.out.println("4 - Sair do programa");
System.out.println("*********************");
System.out.println("Entre com um comando: ");
Scanner s = new Scanner(System.in);
opcao = s.nextInt();
switch (opcao) {
case 1:
System.out.println("Adicionar novo contato");
while (verificar != -1) {
System.out.println("Entre com ID: ");
Long id = s.nextLong();
verificar = checar(id, verificar);
}
System.out.println("Entre com nome: ");
String nome = s.next();
System.out.println("Entre com telefone: ");
String fone = s.next();
System.out.println("Entre com Data de nascimento: ");
String dataNascimento = s.next();
Date date = (Date) new SimpleDateFormat("dd/MM/yyyy")
.parse(dataNascimento);
Calendar dataNasc = Calendar.getInstance();
dataNasc.setTime(date);
Contato novo = new Contato();
listaContatos.add(novo);
break;
case 2:
System.out.println("Lista de todos os contatos: ");
for (Contato contato : listaContatos) {
System.out.println(listaContatos.toString());
}
break;
case 3:
while (verificar == -1) {
System.out.println("Usuário nao existe");
System.out.println("Entre com ID valido: ");
Long excluir = s.nextLong();
checar(excluir, verificar);
}
listaContatos.remove(verificar);
break;
default:
System.out.println("Comando inválido");
}
}
}
}
import java.util.Calendar;
public class Contato {
private Long id;
private String nome;
private String telefone;
private Calendar dataNascimento;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
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 Calendar getDataNascimento() {
return dataNascimento;
}
public void setDataNascimento(Calendar dataNascimento) {
this.dataNascimento = dataNascimento;
}
@Override
public String toString() {
return "Contato [id=" + id + ", nome=" + nome + ", telefone="
+ telefone + ", dataNascimento=" + dataNascimento + "]";
}
}
Desde já, obrigado.
