Transformar numeros inteiros em dias, meses e anos

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!

Procure algo sobre

GregorianCalendar.

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

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

[quote=clone_zealot]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[/quote]
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:

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

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

prometo ser mais bonzinho no ano que vem papai…

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?!

[quote=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! [/quote]

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

[quote=fernandoeick]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[/quote]

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

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 );   

}

}

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);
}    }

Mas que programa? Era para aprenderes a por as tags [code] que pelos vistos, não resultou.

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…

[quote=elaine cristina]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 );   

}

} [/quote]

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!