Exercício - Não consegui fazer (ajuda)

Crie uma classe Agenda que pode armazenar 10 pessoas e seja capas de realizar as
seguintes operações:
 void armazenaPessoa(String nome, int idade, float altura);
 void removePessoa(String nome);
 int buscaPessoa(String nome); // informa em que posição da agenda está a
pessoa
 void imprimeAgenda(); // imprime os dados de todas as pessoas da agenda
 void imprimePessoa(int index); // imprime os dados da pessoa que está na
posição “i” da agenda.

No que você tem dúvida? Mostra a parte do código que não está funcionando que a gente te ajuda!

Eu tenho dificuldade em começar o programa… Por exemplo: eu preciso criar uma outra classe Pessoa?

Não é necessário ter uma outra classe Pessoa, você pode criar essa classe Agenda com os métodos que estão sendo pedidos no exercício e uma classe Principal contendo um “main” que será responsável por chamar esses métodos da classe Agenda, passando os parâmetros adequados.

1 curtida

Obrigada!

[codigo][espero ajudar]
package javacsharp;

import java.util.Scanner;
import java.util.Vector;

public class JavaCsharp {

public static class Agenda {

    private static int total_pessoas;
    private static char name[];
    private static int agend_idade;
    private static String agend_nomes;
    private static double agend_altura;
    static Vector set_name = new Vector<String>();
    static Vector set_age = new Vector<Integer>();
    static Vector set_altura = new Vector<Double>();

    public void quantidade_de_pessoa(int qtdade) {
        total_pessoas = qtdade;
        name = new char[qtdade];

    }

    @SuppressWarnings("unchecked")
    public static void set_armazenaPessoa(int i) {
        Scanner in_teclado;
        System.out.println("Digite o nome da " + (i + 1) + "  pessoa");
        in_teclado = new Scanner(System.in);
        agend_nomes = in_teclado.nextLine();
        System.out.println("Digite a idade da " + (i + 1) + " pessoa");
        in_teclado = new Scanner(System.in);
        agend_idade = in_teclado.nextInt();
        System.out.println("Digite a altura da " + (i + 1) + " pessoa");
        in_teclado = new Scanner(System.in);
        String altura = in_teclado.nextLine();
        agend_altura = Double.parseDouble(altura);

        //gravando os dados pessoais 
        set_name.add(i, agend_nomes);
        set_age.add(i, agend_idade);
        set_altura.add(i, agend_altura);

    }

    public static void get_imprimeAgenda(int qtdade_impressao) {

        System.out.println((qtdade_impressao + 1) + " )nome: " + set_name.get(qtdade_impressao));
        System.out.println("idade: " + set_age.get(qtdade_impressao));
        System.out.println("altura: " + set_altura.get(qtdade_impressao));

    }

    @SuppressWarnings("unchecked")
    public static void removePessoa(int remove_index) {
        set_name.set(remove_index, null);
        set_age.set(remove_index, null);
        set_altura.set(remove_index, null);
    }

    public static int buscaPessoa(String nome_busca) {
        // informa em que posição da agenda está a pessoa
        int position = -1;// se retornar negativo quer dizer que o nome nao consta na lista
        for (int i = 0; i < total_pessoas; i++) {
            if (set_name.get(i).equals(nome_busca)) {
                position = i;
            }
        }
        return position;
    }

}

public static void main(String[] args) {
    //objectos e identificadores
    Agenda ag = new Agenda();
    int qtdade_pessoas, index;
    String nome;

    //inicializacao de objectos e identificadores
    System.out.println("Quantas pessoas desejas cadastrar? \n total de cadastro: ");
    Scanner in_teclado = new Scanner(System.in);
    qtdade_pessoas = in_teclado.nextInt();
    ag.quantidade_de_pessoa(qtdade_pessoas);

    //instrucoes de cadastro de pessoas
    for (int i = 0; i < qtdade_pessoas; i++) {
        Agenda.set_armazenaPessoa(i);// cadastrar pessoas
    }

    //instrucoes de impressao de pessoas cadastrada
    for (int i = 0; i < qtdade_pessoas; i++) {
        Agenda.get_imprimeAgenda(i);//lista de pessoas cadastrada
    }

    //intrucoes de busca de uma pessoa na lista de cadastro
    System.out.println("Digite o nome da pessoa que procuras");
    in_teclado = new Scanner(System.in);
    nome = in_teclado.nextLine();
    int position = Agenda.buscaPessoa(nome);
    if (position >= 0) {
        System.out.println("O " + nome + " se encontra na posisao: " + (position + 1));
    } else {
        System.out.println("o nome desejado nao esta nesta lista");
    }

    // imprime os dados da pessoa que está na  posição “i” da agenda.
    System.out.println("Digite o numero de ordem da pessoa na lista: ");
    in_teclado = new Scanner(System.in);
    index = in_teclado.nextInt();
    for (int i = 0; i < qtdade_pessoas; i++) {
        if (i == (index - 1)) {
            Agenda.get_imprimeAgenda(i);
        }
    }

    //remover uma pessoa da lista
    System.out.println("Digite o numero de ordem da pessoa na lista que deseja remover: ");
    in_teclado = new Scanner(System.in);
    index = in_teclado.nextInt();
    for (int i = 0; i < qtdade_pessoas; i++) {
        if (i == (index - 1)) {
            Agenda.removePessoa(i);
        }
    }

    //instrucoes de impressao de pessoas cadastrada
    for (int i = 0; i < qtdade_pessoas; i++) {
        Agenda.get_imprimeAgenda(i);//lista de pessoas cadastrada
    }
}

}

1 curtida