1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Duvida em como implementar 2 métodos de POO

Olá pessoal! Sou novo no estudo de programação e quero pedir ajuda pra vocês!!

Estou tentando implementar os itens "d" e "f" de um exercício em java. Dei uma pesquisada em como fazer e vi que tenho que fazer um array, mas não entendi como fazer. Não entendo, ainda, como funciona um array. Alguém pode me ajudar dando usando esse exercício como exemplo?

Exercício:

Escreva uma classe que represente um país. Um país é representado através dos atributos: código ISO 3166-1 (ex.: BRA), nome (ex.: Brasil), população (ex.: 193.946.886), capital (ex.: Brasília) e a sua dimensão em Km2 (ex.: 8.515.767,049). Além disso, cada país mantém uma lista de outros países com os quais ele faz fronteira. Escreva a classe em Java e forneça os seus membros a seguir:

  • a) Construtor que inicialize o código ISO, o nome, capital, população e a dimensão do país;
  • b) Métodos de acesso (getter/setter) para as propriedades código ISO, nome, população, capital e dimensão do país;
  • c) Um método que permita verificar se dois objetos representam o mesmo país (igualdade semântica). Dois países são iguais se tiverem o mesmo código ISO;
  • d) Um método que informe se dois países possuem fronteiras em comum;
  • e) Um método que retorne a densidade populacional do país;
  • f) Um método que receba um país como parâmetro e retorne a lista de vizinhos comuns aos dois países.

O que já foi feito:

package exercicio_07;

/*
 * @author Nercs
 */
public class Pais
{

    //Atributos
    private String iso; //Código ISO
    private String nome;//Nome do País
    private int população;//População Total
    private String capital;// Capital do País
    private long dimensao;// Dimensão do país em km2

    // a) Construtor que inicialize o código ISO, o nome, capital, população e a dimensão do país; 
    public Pais(String iso, String nome, int população, String capital, long dimensao)
    {
        this.iso = iso;
        this.nome = nome;
        this.população = população;
        this.capital = capital;
        this.dimensao = dimensao; 
    }

    //b) Métodos getters e sttters
    public String getIso() {
        return iso;
    }

    public void setIso(String iso) {
        this.iso = iso;
    }

    public String getNome() {
        return nome;
    }

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

    public int getPopulação() {
        return população;
    }

    public void setPopulação(int população) {
        this.população = população;
    }

    public String getCapital() {
        return capital;
    }

    public void setCapital(String capital) {
        this.capital = capital;
    }

    public long getDimensao() {
        return dimensao;
    }

    public void setDimensao(long dimensao) {
        this.dimensao = dimensao;
    }

   //c) Um método que permita verificar se dois objetos representam o mesmo país (igualdade semântica). 
    //Dois países são iguais se tiverem o mesmo código ISO; 
   public void Igualdade(Pais iso1, Pais iso2)
    {
        //Comparação de dois objetos
        if(iso1.getIso().equals(iso2.getIso()))
        {
            System.out.println(" Paises iguais!");
        }
        else
        {
            System.out.println("Paises diferentes!");
        }

    }

   //d)  Um método que informe se dois países possuem fronteiras em comum;

   public void fronteiras()
   {

   }

    //e) Um método que retorne a densidade populacional do país; 
    public double Densidade()
    {
        //Se a população ou a dimensão forem iguais a 0 é impossivel determinar a densidade.
        if ((this.getPopulação() == 0) || (this.getDimensao() == 0))
            return 0;

        else
        return this.getPopulação()/this.getDimensao();
    }

    //f) Um método que receba um país como parâmetro e retorne a lista de vizinhos comuns
    //   aos dois países
    public boolean vizinhos(Pais p1)
    {

    }

   public void Status()
   {
       System.out.println("ISO: " + this.getIso());
       System.out.println("Nome: " + this.getNome());
       System.out.println("Populacao: " + this.getPopulação());
       System.out.println("Capital: " + this.getCapital());
       System.out.println("Dimensao: " + this.getDimensao());

   }

}

Classe Principal:

package exercicio_07;

public class Exercicio_07 {

    /*
     * @param args the command line arguments
     */
    public static void main(String[] args)
    {
        Pais pais[] = new Pais[5];//vetor de 5 paises para exemplo

        pais[0] = new Pais("BRA", "Brazil", 202768562, "Brasilia", 8515767);//Pais exemplo 1
        pais[1] = new Pais("USA", "Estados unidos", 308745538, "Washington, D.C.", 9371175);//Pais exemplo 2

        pais[0].Status();//verificação de atributos
        pais[0].Igualdade(pais[0], pais[1]);//Teste1 do item c

        System.out.printf("Densidade: %.1f hab/km² %n",(pais[0].Densidade()));//teste1 item e 
        System.out.printf("Densidade: %.1f hab/km² %n",(pais[1].Densidade()));//teste2 item e

    }

}
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java ou faça a sua própria pergunta.