Bom dia! alguém poderia me ajudar a corrigir esse código e fazer com que ele funcione corretamente por favor, desde já agradeço

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class agenda {
// criando os atributos
String nome;
int dia;
int mes;
int ano;
String compromiso_do_dia;
int horario_compromiso;
String telefone;
String local;
int dia_compromiso;

public agenda(String nome, int dia, int mes, int ano, String compromiso_do_dia,
        int horario_compromiso, String telefone, String local, int dia_compromiso) {

    this.nome = nome;
    this.dia = dia;
    this.mes = mes;
    this.ano = ano;
    this.compromiso_do_dia = compromiso_do_dia;
    this.horario_compromiso = horario_compromiso;
    this.telefone = telefone;
    this.local = local;
    this.dia_compromiso = dia_compromiso;

}

// crianco os getters e setters
public String getnome() {
    return nome;
}

public void setnome(String nome) {
    this.nome = nome;
}

public int getdia() {
    return dia;
}

public void setdia(int dia) {
    this.dia = dia;
}

public int getmes() {
    return mes;
}

public void setmes(int mes) {
    this.mes = mes;
}

public int getano() {
    return ano;
}

public void setano(int ano) {
    this.ano = ano;
}

public String getcompromiso_do_dia() {
    return compromiso_do_dia;
}

public void setcompromiso_do_dia(String compromiso_do_dia) {
    this.compromiso_do_dia = compromiso_do_dia;
}

public int gethorario_compromiso() {
    return horario_compromiso;
}

public void sethorario_compromiso(int horario_compromiso) {
    this.horario_compromiso = horario_compromiso;
}

public String gettelefone() {
    return telefone;
}

public void settelefone(String telefone) {
    this.telefone = telefone;
}

public String getlocal() {
    return local;
}

public void setlocal(String local) {
    this.local = local;
}

public int getdia_compromiso() {
    return dia_compromiso;
}

public void setdia_compromiso(int dia_compromiso) {
    this.dia_compromiso = dia_compromiso;
}

// criação de metodos
// medodo desmarcar compromisso, nome do dono,dia, mes e ano não mudam pois são
// o atual
public void desmarcarcompromiso() {
    String compromiso_do_dia = null;
    int horario_compromiso = 0;
    String telefone = null;
    String local = null;
    int dia_compromiso = 0;
}

}

// metodo mudar dia do compromiso
public void mudardiacompromisso(int novodia_compromiso) {
    dia_compromiso = novodia_compromiso;
}

// metodo mudar mês do compromiso
public void mudarmescompromiso(int mesnovo) {
    mes = mesnovo;
}

// metodo mudar ano do compromiso
public void mudaranocompromiso(int novoano) {
    ano = novoano;
}

// metodo mudar horario do compromiso
public void mudarhorariocompromiso(int novohorario) {
    horario_compromiso = novohorario;
}

// metodo mudar local do compromisso
public void mudarlocalcompromisso(String novolocal) {
    local = novolocal;
}

}

class testeagenda {

public static void main(String[] args) {
    List<agenda> AG = new ArrayList<>();
    Scanner scanner = new Scanner(System.in);

    while (true) {
        System.out.println("Adicionar compromisso (s ou sim / n ou nao / p ou procurar): ");
        String resposta = scanner.nextLine();

        if (resposta.equalsIgnoreCase("n") || resposta.equalsIgnoreCase("nao")) {
            break;
        } else if (resposta.equalsIgnoreCase("s") || resposta.equalsIgnoreCase("sim")) {
            System.out.println("Digite o nome: ");
            String nome = scanner.nextLine();
            System.out.println("Digite o dia: ");
            int dia = scanner.nextInt();
            System.out.println("Digite o mês: ");
            int mes = scanner.nextInt();
            System.out.println("Digite o ano: ");
            int ano = scanner.nextInt();
            System.out.println("Digite o compromisso do dia: ");
            String compromisso_do_dia = scanner.next();
            System.out.println("Digite o horário do compromisso: ");
            int horario_compromisso = scanner.nextInt();
            System.out.println("Digite o telefone: ");
            String telefone = scanner.next();
            System.out.println("Digite o local: ");
            String local = scanner.next();
            System.out.println("Digite o dia do compromisso: ");
            int dia_compromisso = scanner.nextInt();

            agenda novoCompromisso = new agenda(nome, dia, mes, ano, compromisso_do_dia,
                    horario_compromisso, telefone, local, dia_compromisso);

            AG.add(novoCompromisso);
        }
    }

    // Exibir os compromissos adicionados
    System.out.println("Compromissos Adicionados:");
    for (agenda compromisso : AG) {
        System.out.println("Nome: " + compromisso.getnome() + ", Compromisso: " +
                compromisso.getcompromiso_do_dia() + ", Data: " + compromisso.getdia() +
                "/" + compromisso.getmes() + "/" + compromisso.getano());
    }
}

}

Qual o erro?

o scanner não está funcionando corretamente

Para ler entrada do teclado, utilize somente o método nextLine().

1 curtida