Jump to content
noorders

[AJUDA]Criar data actual (com horas) através de P.O.O (programação orientada a o

Recommended Posts

noorders

Boa tarde.

É o seguinte, eu criei uma classe Data que tem os seus atributos desde o ano até ao segundo e eu queria que estes recebessem o valor do tempo em que eu instanciei um objecto da Classe Data no meu Main. Tentei fazer através da Classe Calendar, mas o meu outup é sempre o mesmo e nada tem a ver com a data actual: 5/2/1 //output

Outra coisa que me está a chatear é que tenho que importar todos os métodos da Classe Calendar no minha Classe Data quando nem os vou redefinir.

Será que estou a utillizar a melhor forma para resolver isto?

Grato pela vossa atenção

Cumprimentos

Deixo aqui o código da minha classe Data:

import java.util.Calendar;

public class Data {

    Calendar calendario = new Calendar() {

        @Override
        protected void computeTime() {
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        protected void computeFields() {
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public void add(int field, int amount) {
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public void roll(int field, boolean up) {
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public int getMinimum(int field) {
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public int getMaximum(int field) {
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public int getGreatestMinimum(int field) {
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public int getLeastMaximum(int field) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
    };
            
    public Data() {}
}

Share this post


Link to post
Share on other sites
Baderous

Uma vez que Calendar é uma classe abstracta e, como tal, não pode ser instanciada, isso obriga-te a declarar uma implementação mínima para os seus métodos abstractos. Tens é de usar a sua subclasse concreta GregorianCalendar (nós usamos o calendário Gregoriano):

Calendar calendario = new GregorianCalendar();

E assim já evitas esse código todo gerado pelo IDE que estás a usar.

Tens também de ter em atenção que a variável MONTH vai de 0 (Janeiro) a 11 (Dezembro) por isso tens de lhe adicionar 1 para obteres o valor correcto.

Share this post


Link to post
Share on other sites
noorders

Obrigado Baderous.. Já funciona.

Só uma coisinha, como é que eu faço para ele me colocar nas horas, por exemplo, neste momento são 20:21:31 mas ele coloca-me 08:21:31

Existe algum método dessa classe para isso ou tenho que ser eu a implementar código nisso?

Cumprimentos

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.