transformar numeros inteiros em dias, meses e anos  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
elaine cristina
Smalltalk

Membro desde: 18/06/2009 13:40:36
Mensagens: 3
Offline

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!

This message was edited 2 times. Last update was at 18/06/2009 15:17:10

mark_domi
Java Ninja

Membro desde: 30/01/2004 16:35:03
Mensagens: 259
Offline

Procure algo sobre

GregorianCalendar.

http://programmerexpert.blogspot.com.br/
fernandoeick
JavaEvangelist

Membro desde: 24/01/2007 14:18:48
Mensagens: 489
Localização: Campinas-SP
Offline

Na seção de artigos do GUJ tem este aqui:
http://www.guj.com.br/article.show.logic?id=8
Que ensina a manipular datas em Java com a classe Date.

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é...

Analista/Desenvolvedor Java
Graduado em Informática - Sistemas de Informação.
Sun Certified Java Programmer 6.0
Next Step: SCWCD 5

E dá-lhe Grêmio!
[MSN]
clone_zealot
JavaEvangelist

Membro desde: 21/11/2004 16:40:00
Mensagens: 430
Offline

Calender novo? =/
Eu lembro que eu sofri, aprendendo o Calendar a 5 anos atrás!!!
Mas, realmente, pesquise sobre o GregorianCalendar...

Uma dica pra vc garota:
Calendar c = 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 ms
c.setTime(x);
int meses = c.get(Calendar.MONTH);


o resto é com vc ;D

This message was edited 1 time. Last update was at 18/06/2009 14:20:27


"Não amo a espada por sua agudez,
não amo a flecha por sua rapidez,
não amo o homem por sua glória,
amo sim, tudo o que eles defendem"
Faramir, Príncipe de Ithilien
fernandoeick
JavaEvangelist

Membro desde: 24/01/2007 14:18:48
Mensagens: 489
Localização: Campinas-SP
Offline

clone_zealot wrote:Calender novo? =/
Eu lembro que eu sofri, aprendendo o Calendar a 5 anos atrás!!!
Mas, realmente, pesquise sobre o GregorianCalendar...

Uma dica pra vc garota:
Calendar c = 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 ms
c.setTime(x);
int meses = c.get(Calendar.MONTH);


o resto é com vc ;D

Novo, se for comparado ao Date .
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

Analista/Desenvolvedor Java
Graduado em Informática - Sistemas de Informação.
Sun Certified Java Programmer 6.0
Next Step: SCWCD 5

E dá-lhe Grêmio!
[MSN]
fernandoeick
JavaEvangelist

Membro desde: 24/01/2007 14:18:48
Mensagens: 489
Localização: Campinas-SP
Offline

Ah, e sem querer ser chato, ou pegar no pé, codificação deve ser feita dentro das tags [/code]

Para a menina, que é novata, e para você, acho que o seguinte tópico é uma boa pedida:
http://www.guj.com.br/posts/list/50115.java

Analista/Desenvolvedor Java
Graduado em Informática - Sistemas de Informação.
Sun Certified Java Programmer 6.0
Next Step: SCWCD 5

E dá-lhe Grêmio!
[MSN]
clone_zealot
JavaEvangelist

Membro desde: 21/11/2004 16:40:00
Mensagens: 430
Offline

*offtopic*
ahhh, esses molequinhos que se acham donos de fórum

prometo ser mais bonzinho no ano que vem papai...

"Não amo a espada por sua agudez,
não amo a flecha por sua rapidez,
não amo o homem por sua glória,
amo sim, tudo o que eles defendem"
Faramir, Príncipe de Ithilien
thiago.correa
GUJ Master
[Avatar]

Membro desde: 26/03/2006 18:54:30
Mensagens: 1917
Offline

Na verdade o que a colega quer não é digitar algo do tipo

int dia = 1;
int mes = 2;
int ano = 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?!

---
"Se não puder ajudar, atrapalhe, afinal de contas o importante é participar!"
Thiago
[MSN]
fantomas
GUJ Master
[Avatar]

Membro desde: 24/04/2008 16:10:55
Mensagens: 1632
Localização: Terra (maior parte do tempo)
Offline

elaine cristina wrote: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
elaine cristina
Smalltalk

Membro desde: 18/06/2009 13:40:36
Mensagens: 3
Offline

fernandoeick wrote:Ah, e sem querer ser chato, ou pegar no pé, codificação deve ser feita dentro das tags [/code]

Para a menina, que é novata, e para você, acho que o seguinte tópico é uma boa pedida:
http://www.guj.com.br/posts/list/50115.java



oi!
tudo bem?
esse programa na verdade não tem muito a ver com datas, ele esta mais para numeros inteiros.
elaine cristina
Smalltalk

Membro desde: 18/06/2009 13:40:36
Mensagens: 3
Offline

pelo que eu sei é mais ou menos isso
mas ele esta apresentando erros!

import javax.swing.JOptionPane;

public class Anos{

public static void main( String[] args )
{
int anos;
y;
meses
dias
x = Integer.parseInt(
JOptionPane.showInputDialog( "Digite o numero" ) );
boolean primo = true;

for ( x/360= anos; x%360= y; y/30= meses; y%30= dias){

}
}

JOptionPane.showMessageDialog(Anos + " anos "; Meses + " meses "; Dias + "dias );

System.exit( 0 );
}

}
MuriloCieciasComputacao
Smalltalk
[Avatar]

Membro desde: 18/06/2009 19:32:13
Mensagens: 1
Localização: Foz do Iguacu
Offline


import java.util.Calendar;
import java.util.GregorianCalendar;


public class Calendariotrabalho1 {
public static void main(String[] args) {


System.out.println(" ");
String meses[] = {"Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"};
Calendar cHoje = new GregorianCalendar();
Calendar cPassado = new GregorianCalendar(
cHoje.get(Calendar.YEAR),
cHoje.get(Calendar.MONTH),
1);
int dia1 = cPassado.get(Calendar.DAY_OF_WEEK);
int diaMax = cHoje.getActualMaximum(Calendar.DAY_OF_MONTH);
int dia = 1;
int i;
String strDia;

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------------------------------");
String extenso = 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);
} }
[Email] [MSN]
pmlm
GUJ Master

Membro desde: 20/04/2009 12:20:07
Mensagens: 1701
Localização: Portugal
Offline

elaine cristina wrote: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.
fernandoeick
JavaEvangelist

Membro desde: 24/01/2007 14:18:48
Mensagens: 489
Localização: Campinas-SP
Offline

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...

Analista/Desenvolvedor Java
Graduado em Informática - Sistemas de Informação.
Sun Certified Java Programmer 6.0
Next Step: SCWCD 5

E dá-lhe Grêmio!
[MSN]
thiago.correa
GUJ Master
[Avatar]

Membro desde: 26/03/2006 18:54:30
Mensagens: 1917
Offline

elaine cristina wrote:pelo que eu sei é mais ou menos isso
mas ele esta apresentando erros!

import javax.swing.JOptionPane;

public class Anos{

public static void main( String[] args )
{
int anos;
y;
meses
dias
x = Integer.parseInt(
JOptionPane.showInputDialog( "Digite o numero" ) );
boolean primo = true;

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



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!

---
"Se não puder ajudar, atrapalhe, afinal de contas o importante é participar!"
Thiago
[MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team