1:
Considerando a classe "Ponto" que voce deve ter implementado, melhore-a para manter um controle do número de instâncias criadas e manter a medias dos X´s e dos Y´s dos pontos ate então criados.

2:
Implemente um método através do qual uma instância de Ponto retorna sua distância até a origem.

(Acho que :) Você tem basicamente duas formas de fazer isto:
    a)     O X e Y da origem sao constantes definidas na classe Ponto.
            Um método da instância acessa estas constantes definidas na classe e implementa o cálculo
                da distância.
    b)    Da mesma forma, o X e Y da origem sao constantes definidas na classe Ponto.
           Um método na classe é responsável por calcular a distância de um ponto à origem.
           Este método tem que receber uma instância de ponto como parâmetro.

Usando a opção (a), um método da instância é utilizado para fazer o cálculo.
Usando a opção (b), um método da classe é disparado.
Implemente e use ambos.

Depois disso, implemente uma terceira forma de cálculo da distância.
(realmente, não são só duas formas ! :)
    c)    Um método da instância existe para o cálculo da distância à origem,
           só que este método da instância utiliza internamente o método da classe.
           ==> Lembre-se que uma instância pode referenciar a si mesma através do "this".

        Obs.: uma applet com a demonstração gráfica do teorema de pitágoras está em
        http://tech-www.informatik.uni-hamburg.de/applets/pythagoras/experiment2.html

3:
a) Consulte um livro de biologia e construa uma hierarquia de herança para representar a taxonomia de seres
vivos.  Construa uma taxonomia com no minimo 4 niveis.
b) Cada ser vivo deve ser capaz de responder a um metodo "DefinicaoGeralEspecifico" que retorna
desde a definiçao mais generica ate a mais especifica para o objeto  (Ex.: ser vivo, .... ,  vertebrado, ... mamifero, ... cavalo),
e um metodo "DefinicaoEspecificoGeral" que retorna desde a definicao mais especifica ate a mais generica para o
objeto (Ex.: cavalo, ... mamifero, ... vertebrado, ... ser vivo).
c) A taxonomia da biologia e´ uma arvore ou um grafo ?
Que implicacoes uma taxonomia em forma de grafo pode ter na construcao de uma hierarquia de heranca ?

4:
Construa a classe ArvoreBinaria que representa uma arvore binaria.
Uma instancia de ArvoreBinaria tem uma informaçao e referencia outros duas instancias de
ArvoreBinaria.  Ao criar uma ArvoreBinaria, a informaçao inicial e´ dada.
A ArvoreBinaria vai sendo montada fazendo com que uma instancia desta classe referencie
outra(s) instancias (Ex.: arvBin.setaDireita(arvBin2);  arvBin.setaEsquerda(arvBin1); ...).
Faça metodos de ArvoreBinaria implementando cada tipo de caminhamento na mesma (pre, in, e pos-fixado).

5:
Expanda esta ArvoreBinaria para se tornar uma ArvoreBinariaPesquisa.
A ArvoreBinariaPesquisa deve basicamente expandir a ArvoreBinaria para ter uma disciplina
de insercao de informacao na arvore - ou seja: um metodo para inserir informacao na arvore.
A inserçao de informacao em uma arvore ja existente deve entao obedecer um criterio de
inserir informaçao maior na sub-arvore da direita e informacao menor como subarvore da esquerda.
Partindo de uma analise da raiz.
Informacao ja existente na arvore nao deve ser duplicada.

Observacao: em 4 e 5 represente classes somente para ArvoreBinaria e ArvoreBinariaPesquisa.

6:
Usando métodos e variáveis de classe e de instância, implemente a classe MVCAO (curto para: MariaVaiComAsOutras).
Uma instância de MVCAO tem o seguinte comportamento: quando  perguntada se “querIrAoCinema”, ela responde verdadeiro se a maioria das outras instâncias de MVCAO responderem verdadeiro à pergunta “vamosJunto”.
Assuma que uma MVCAO responde verdadeiro ou falso à pergunta “vamosJunto” conforme o método Math.random(), que retorna um “double” entre 0.0 e 1.0.

7:
A classe ArvoreBinaria proposta acima pode ser melhorada para retornar erros como: tentativa de inclusão de um valor
já existente na árvore; tentativa de retirada de um valor não existente na árvore.
Reescreva a classe ArvoreBinaria para tratar estas situações anormais.

Depois disso, consulte a documentação disponível na página e leia sobre o que são exceções. Em:
http://www.inf.pucrs.br/~fldotti/lapros/jdk1.2.1/docs/api/index.html
no pacote "java.lang" veja o que é uma "Exception" e verifique a existência de uma hierarquia de herança
de exceções.