ESTÁ CERTO O PROGRMAR?
package Curso;
import java.util.Locale;
import java.util.Scanner;
public class Aula_01 {
public static void main(String[] args) {
Locale.setDefault(Locale.US);
Scanner input = new Scanner(System.in);
double idade = Input.nexDouble;
double anos = 365*idade;
double mes = 12;
System.out.println(" Idade " + idade);
System.out.println(" Mês " + mes * idade);
System.out.println(" Dias " + anos);
}
}
Creio que a sua dúvida seja quanto aos cálculos:
365 dias * idade em anos = idade em dias (idadeDias)
idadeDias / 30 = idade em meses (idadeMes)
Exemplo: 19 anos = 6.935 dias = 231,17 meses (aproximadamente). No entanto, como pede em dias, faça:
1 - Converta os anos (multiplique por 365, já que um ano tem 365 dias);
2 - Converta os meses em dias (multiplique por 30, já que 1 mês tem 30 dias).
Do exemplo:
1 ->
3 * 365 = 1.095 dias;
2 ->
2 * 30 = 60 dias
Total = 1.095 + 60 + 15 = 1.170 dias.
Observação: se a idade é um valor inteiro, porque ler em double
? Como se trata de idade, você, até mesmo, pode ler em short
que é menor que int
.
Exemplo:
import java.util.Scanner;
public class IdadeDiaMesAno {
public static void main(String[] args){
final short DIAS_NO_ANO = 365;
final short DIAS_NO_MES = 30;
short dias;
short meses;
short anos;
Scanner leitor = new Scanner(System.in);
System.out.println("Informe a sua idade.");
System.out.print("Anos: ");
anos = leitor.nextShort();
System.out.print("Meses: ");
meses = leitor.nextShort();
System.out.print("Dias: ");
dias = leitor.nextShort();
dias += (anos * DIAS_NO_ANO) + (meses * DIAS_NO_MES);
System.out.println("\n\nA sua idade em dias é " + dias);
}
}
Rodando…
