Class data para aparecer em todas as telas

Bom dia, estou vendo alguns videos aulas sobre java e em um dos videos mostra como criar uma class data com metodo le_data mas infelizmente os getDay, Month, Year aparecem riscados e nao consigo compilar, segue abaixo o codigo fonte:

package utilitarios;
import java.util.Date;

public class data {

String dia, mes, ano, dia_semana;

public void le_data()
    {
        Date data   = new Date();
        dia         = ""+data.getDate();
        mes         = ""+data.getMonth();
        ano         = ""+(1900 + data.getYear());
        dia_semana  = ""+data.getDay(); 
    }

}

O erro :

Ouvindo em javadebug
Não foi possível enviar o ponto de interrupção LineBreakpoint Exif.java : 15, razão: O ponto de interrupção está configurado fora de qualquer classe.
Inválido LineBreakpoint Exif.java : 15
Executando programa do usuário
LineBreakpoint data.java : 24 enviado com êxito.
Depurador interrompido em código-fonte não compilável.
Thread main parada em data.java:18.
MethodBreakpoint [utilitarios.data].le_data ‘()Lvoid;’ enviado com êxito.
MethodBreakpoint [utilitarios.data].le_data ‘()Lvoid;’ enviado com êxito.

E pra falar a verdade desde ontem estou tentando descobrir o erro e nao consigo criar a tal class compilando certinho…Me ajudem…Por favor.

Olá, primeiro por favor utilize a tag code. Facilita muito a analise.

Agora ao problema:

Seu programa nao tem o metodo main. Adiciona isso ao codigo:

public static void main(String[] args) { data d = new data(); d.le_data(); System.out.println(d.dia); System.out.println(d.mes); System.out.println(d.ano); System.out.println(d.dia_semana); }

O fato dos metodos estarem riscados significa que ele(s) esta(o) deprecated. Significa que o seu uso não é encorajado.

Tente fazer assim:

[code]package utilitarios;

import java.util.GregorianCalendar;

public class data {

String dia, mes, ano, dia_semana;

public void le_data() {
	GregorianCalendar calendario = new GregorianCalendar();
	dia = "" + calendario.get(GregorianCalendar.DATE);
	mes = "" + calendario.get(GregorianCalendar.MONTH);
	ano = "" + calendario.get(GregorianCalendar.YEAR);
	dia_semana = "" + calendario.get(GregorianCalendar.DAY_OF_WEEK);
}

public static void main(String[] args) {
	data d = new data();
	d.le_data();
	System.out.println(d.dia);
	System.out.println(d.mes);
	System.out.println(d.ano);
	System.out.println(d.dia_semana);
}

}[/code]

E só mais uma coisa, sempre declare sua classe com a primeira letra em maiusculo. Ao inves de “data” coloque “Data”. De uma olhada nisso aqui http://www.tiexpert.net/programacao/java/nomenclatura.php

Bom dia amigo Sem Nome tentei a segunda opcao mas nao ta dando certo:

[code]import java.util.GregorianCalendar;
public class Data
{
String dia, mes, ano, dia_semana;

public void le_data();
{
    GregorianCalendar calendario = new GregorianCalendar();
    dia         = "" + calendario.get(GregorianCalendar.DATE);
    mes         = "" + calendario.get(GregorianCalendar.MONTH);
    ano         = "" + calendario.get(GregorianCalendar.YEAR);
    dia_semana  = "" + calendario.get(GregorianCalendar.DAY_OF_WEEK); 
}
public static void main (String [] args)
{
    Data d = new Data();
    d.le_data();
    System.out.println(d.dia);
    System.out.println(d.mes);
    System.out.println(d.ano);
    System.out.println(d.dia_semana);
}

}[/code]
o erro é o seguinte:

init:
Deleting: C:\Estoque\build\built-jar.properties
deps-jar:
Updating property file: C:\Estoque\build\built-jar.properties
Compiling 1 source file to C:\Estoque\build\classes
warning: [options] bootstrap class path not set in conjunction with -source 1.6
C:\Estoque\src\Data.java:6: error: missing method body, or declare abstract
public void le_data();
1 error
1 warning
C:\Estoque\nbproject\build-impl.xml:626: The following error occurred while executing this line:
C:\Estoque\nbproject\build-impl.xml:245: Compile failed; see the compiler error output for details.
FALHA NA CONSTRUÇÃO (tempo total: 0 segundos)

[quote=Bulldog]Bom dia amigo Sem Nome tentei a segunda opcao mas nao ta dando certo:

[code]import java.util.GregorianCalendar;
public class Data
{
String dia, mes, ano, dia_semana;

public void le_data();
{
    GregorianCalendar calendario = new GregorianCalendar();
    dia         = "" + calendario.get(GregorianCalendar.DATE);
    mes         = "" + calendario.get(GregorianCalendar.MONTH);
    ano         = "" + calendario.get(GregorianCalendar.YEAR);
    dia_semana  = "" + calendario.get(GregorianCalendar.DAY_OF_WEEK); 
}
public static void main (String [] args)
{
    Data d = new Data();
    d.le_data();
    System.out.println(d.dia);
    System.out.println(d.mes);
    System.out.println(d.ano);
    System.out.println(d.dia_semana);
}

}[/code]
o erro é o seguinte:

init:
Deleting: C:\Estoque\build\built-jar.properties
deps-jar:
Updating property file: C:\Estoque\build\built-jar.properties
Compiling 1 source file to C:\Estoque\build\classes
warning: [options] bootstrap class path not set in conjunction with -source 1.6
C:\Estoque\src\Data.java:6: error: missing method body, or declare abstract
public void le_data();
1 error
1 warning
C:\Estoque\nbproject\build-impl.xml:626: The following error occurred while executing this line:
C:\Estoque\nbproject\build-impl.xml:245: Compile failed; see the compiler error output for details.
FALHA NA CONSTRUÇÃO (tempo total: 0 segundos)
[/quote]

Tira aquele ; da declaração do metodo. Você só usa ; em declaracao de metodo quando ele for abstract e quando você for fazer assim o metodo não possui um corpo.

Companheiro deu certinho agora, so tem um probleminha o GregorianCalendar.MONTH retornou mes 04 porq acho q ele conta de 0 a 11, como faço para retornar o mes correto que é 5…?

Sim, ele vai de 0 a 11. É só incrementar 1 nele.

Ficaria assim:

mes = "" + (calendario.get(GregorianCalendar.MONTH) + 1);

Lembre-se que se você tentar colocar mes = "" + 1 + (calendario.get(GregorianCalendar.MONTH); ele imprimirá 14 pois apartir do ponto em que você coloca um “” ele já trata como uma String e “1” + “4” vai retornar “14”. Se por entre parenteses, eles serao os primeiros a serem executados, realizando a soma e depois concatenando.

RESOLVIDO…MUITO OBRIGADO.