Ola Galera tive uma prova ontem bem interresante sobre java, detalhe eu a fiz longe de computador, longe de IDE, longe de compilador, ou seja, no maozão.
Quando cheguei em casa tentei refazer, funciona mas eu sei que pode ser melhor,
esse o código:
import java.util.Scanner;
public class Pessoa{
private String nome;
private String []dataNascimento;
private String []unidade = {"zero","um","dois","tres","quatro","cinco","seis","sete","oito","nove"};
private String []casaDez = {"dez","onze","doze","treze","quatorze","quinze","dezesseis","dezessete","dezoito","dezenove"};
private String []dezenas = {"vinte","trinta","quarenta","cinquenta","sessenta","setenta","oitenta","noventa"};
private int idade;
public Pessoa(String nome, String dtNasc){
this.nome = nome;
this.dataNascimento = dtNasc.split("/");
}
public int calculaIdade(String dataAtual){
String []dtAtual = dataAtual.split("/");
int diaA = Integer.parseInt(dtAtual[0]);
int mesA = Integer.parseInt(dtAtual[1]);
int anoA = Integer.parseInt(dtAtual[2]);
int diaN = Integer.parseInt(dataNascimento[0]);
int mesN = Integer.parseInt(dataNascimento[1]);
int anoN = Integer.parseInt(dataNascimento[2]);
if (diaN >= diaA && mesN >= mesA)
idade = anoA - anoN - 1;
else
idade = anoA - anoN;
return idade;
}
public String mostraIdadeExt(){
if (idade >= 0 && idade <= 9)
return unidade[idade];
if (idade >= 10 && idade <= 19)
return casaDez[idade-10];
if (idade >= 20 && idade <= 99){
int tempId = idade/10;
int tempUn = idade-(tempId*10);
if (idade % 10 == 0)
return dezenas[tempId-2];
else
return dezenas[tempId-2] + " e " + unidade[tempUn];
}
return "";
}
public static void main(String []args){
Scanner scan = new Scanner(System.in);
System.out.println("Informe o nome da pessoa: ");
String nome = scan.nextLine();
System.out.println("Informe a data de Nascimento: ");
String dtN = scan.nextLine();
System.out.println("Informe a data atual");
String dtA = scan.nextLine();
Pessoa p = new Pessoa(nome, dtN);
System.out.println("Idade: " +p.calculaIdade(dtA) + " ( "+p.mostraIdadeExt()+" anos )");
}
}
Alguem poderia me ajudar a melhorá-lo?