Transformar numeros inteiros em dias, meses e anos
14 respostas
E
elaine_cristina
ola pessoal!
sou nova por aqui e tenho um prolema para resolver!
tenho que criar um programa em java que receba um numero do usuario e transforme em dias meses e anos
a formula é essa: eu acho!
numero inserido pelo usuario=x
anos= numeros de anos encontrado
y=numero de meses encontrado
dias= numero de dias encontrado
ex.
numero inserido = 391
1 ano
1 mes
1 dia
x/360=anos
x%360=y
y/30=meses
y%30=dias
como faço???[color=orange][/color]
desculpe se não fui clara!
Mas para o teu caso acho que seria mais útil você pesquisar por “Calendar” - que é uma maneira mais eficiente e nova de trabalhar com datas no Java - tanto no Google, quanto na API - http://java.sun.com/javase/6/docs/api/
Até…
C
clone_zealot
Calender novo? =/
Eu lembro que eu sofri, aprendendo o Calendar a 5 anos atrás!!!
Mas, realmente, pesquise sobre o GregorianCalendar…
Umadicapravcgarota:Calendarc=GregorianCalendar.getInstance();//x é o valor, em milisegundos, da sua data desde 01/01/1970//caso o seu x seja somente dias, ou alguma outra informação, não se esqueça de calcular os msc.setTime(x);intmeses=c.get(Calendar.MONTH);
o resto é com vc ;D
F
fernandoeick
clone_zealot:
Calender novo? =/
Eu lembro que eu sofri, aprendendo o Calendar a 5 anos atrás!!!
Mas, realmente, pesquise sobre o GregorianCalendar…
Umadicapravcgarota:Calendarc=GregorianCalendar.getInstance();//x é o valor, em milisegundos, da sua data desde 01/01/1970//caso o seu x seja somente dias, ou alguma outra informação, não se esqueça de calcular os msc.setTime(x);intmeses=c.get(Calendar.MONTH);
o resto é com vc ;D
Novo, se for comparado ao Date :shock: .
Mas agora eu que pergunto: Sofreu aprendendo Calendar!!!??? Calendar é a coisa mais fácil que tem de aprender!!!
Ah, você tem que diminuir o tamanho do teu avatar :thumbup:
F
fernandoeick
Ah, e sem querer ser chato, ou pegar no pé, codificação deve ser feita dentro das tags [/code]
offtopic
ahhh, esses molequinhos que se acham donos de fórum :lol:
prometo ser mais bonzinho no ano que vem papai…
thiago.correa
Na verdade o que a colega quer não é digitar algo do tipo
intdia=1;intmes=2;intano=2009;
e a partir desses dados montar uma data, ela quer digitar um número inteiro e a partir desse número saber quantos anos, meses e dias existe nesse número.
Elaine qual seria a sua dúvida?! Tá com problema na lógica ou em como codificar?!
fantomas
elaine cristina:
ola pessoal!
sou nova por aqui e tenho um prolema para resolver!
tenho que criar um programa em java que receba um numero do usuario e transforme em dias meses e anos
a formula é essa: eu acho!
numero inserido pelo usuario=x
anos= numeros de anos encontrado
y=numero de meses encontrado
dias= numero de dias encontrado
ex.
numero inserido = 391
1 ano
1 mes
1 dia
x/360=anos
x%360=y
y/30=meses
y%30=dias
como faço???
desculpe se não fui clara!
Tente fazer algum código e envie, mesmo que vc ache que esteja muito errado, senão a galera pode achar que vc está fazendo corpo mole e de repente não é isso.
P.S Não esqueça de utilizar a tag code.
flws
E
elaine_cristina
fernandoeick:
Ah, e sem querer ser chato, ou pegar no pé, codificação deve ser feita dentro das tags [/code]
public class Calendariotrabalho1 {
public static void main(String[] args) {
System.out.println(" ");Stringmeses[]={"Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"};CalendarcHoje=newGregorianCalendar();CalendarcPassado=newGregorianCalendar(cHoje.get(Calendar.YEAR),cHoje.get(Calendar.MONTH),1);intdia1=cPassado.get(Calendar.DAY_OF_WEEK);intdiaMax=cHoje.getActualMaximum(Calendar.DAY_OF_MONTH);intdia=1;inti;StringstrDia;System.out.println(" D S T Q Q S S ");System.out.println("------------------------------");for(i=1;i<dia1;i++){System.out.print(" ");}i=dia1;while(dia<=diaMax){if(i>7){i=1;System.out.println(" ");}strDia=Integer.toString(dia);if(dia==cHoje.get(Calendar.DAY_OF_MONTH)){strDia=strDia+"*";}if(strDia.length()<2){strDia=" "+strDia;}System.out.print(" "+strDia+" ");dia++;i++;if(strDia.length()==3){System.out.print("\b");}}System.out.println("\n------------------------------");Stringextenso=cHoje.get(Calendar.DAY_OF_MONTH)+" de "+meses[cHoje.get(Calendar.MONTH)]+" de "+cHoje.get(Calendar.YEAR);for(i=0;i<(29-extenso.length())/2;i++){System.out.print(" ");}System.out.println(extenso);}}
pmlm
elaine cristina:
esse programa na verdade não tem muito a ver com datas, ele esta mais para numeros inteiros.
Mas que programa? Era para aprenderes a por as tags [code] que pelos vistos, não resultou.
F
fernandoeick
Ehh… em que nível que anda este fórum hein???
Usuários novos e mal-educados que não aceitam sugestões e dicas para melhorar a qualidade das postagens. E eu só lamento pelas pessoas que não aceitam receber criticas construtivas. E lamento mais ainda por aqueles que dão mais corda…
Enfim, deixo este tópico livre para vocês, ok!? Desculpe se magoei alguém…
thiago.correa
elaine cristina:
pelo que eu sei é mais ou menos isso
mas ele esta apresentando erros!
for(x/360=anos; x%360= y; y/30= meses; y%30= dias){ }}JOptionPane.showMessageDialog(Anos+" anos "; Meses + " meses "; Dias + "dias ); System.exit(0);
}
}
Oi que erros estão dando pelo visto a declaração das variáveis estão erradas tente algo assim
int ano = 0;
int mes = 0;
int dia =0;
int x = 0;
int y =0;
Por enquanto, tenha o costume de ao criar uma variável de inicializá-la também!
Outra coisa para facilitar, sempre que der um erro, tente explicar o que está acontecendo, o compilador sempre procura mostrar mensagens de erro (chamadas de StarckTrace), isso nos facilita na hora de lhe ajudar!