Eai pessoal, tudo bom?
Eu não sou muito bom em java, mas tenho pesquisado algumas coisas pra ir aprendendo, só que com esse programa aqui eu acabei bugando… Eu não consigo fazer ele pegar a primeira letra do ultimo nome do funcionario… Pensei em usar com split, que achei aqui mesmo no GUJ, mas não deu muito certo…
Ainda falta terminar umas coisinhas mas eu acho que já tá meio caminho andado, alguém poderia me dar uma luz?
Valeu gente!
Fazer um programa para receber via teclado o nome completo do empregado e a data de nascimento
(DD/MM/YYYY) como String;
O programa deverá calcular o código o empregado.
As regras da geração do código são:
- os 2 primeiros caracteres devem ser iguais a primeiras letra do primeiro nome e primeira letra do último
nome do empregado em maiúsculo.
- os 2 últimos caracteres deverão ser calculados.
1º. Dígito:
1 - somar o dia, mês e ano;
2 - dividir o resultado por 10
3 - o 1º. Dígito será a parte decimal do resultado da divisão.
2º. Dígito:
1 - Multiplicar entre si o valor de cada dígito do código
2 - o 2º. Digito será o Antepenúltimo algarismo a direita do resultado da multiplicação do dia,
mês e ano
import java.util.*;
public class lista2 {
public static void main(String[] args) {
//variaveis
Scanner leia = new Scanner(System.in);
String nomeCompleto,subNomeCompleto;
String dataDeNascimento, subDataDia, subDataMes, subDataAno;
//String codigoNome[] = nomeCompleto.split(" ");
int dataConvertidaDia, dataConvertidaMes, dataConvertidaAno;
int somaData, multiplicacaoData;
//entrada de dados
//---- coleta do nome
System.out.println("Digite o nome do empregado completo: ");
nomeCompleto = leia.nextLine();
//---- coleta da data
System.out.println("Digite a data de nascimento do empregado no modelo -> DD/MM/YYYY: ");
dataDeNascimento = leia.nextLine();
//repetição
//coleta
//letras
subNomeCompleto = nomeCompleto.substring(0,1);
//subNomeCompleto.toUpperCase();
//data em numeros (tirando '/')
subDataDia = dataDeNascimento.substring(0, 2);
subDataMes = dataDeNascimento.substring(3, 5);
subDataAno = dataDeNascimento.substring(6);
//convertendo a data para int (numero)
dataConvertidaDia = Integer.parseInt(subDataDia);
dataConvertidaMes = Integer.parseInt(subDataMes);
dataConvertidaAno = Integer.parseInt(subDataAno);
//calculos dos 2 ultimos caracteres
somaData = (dataConvertidaDia + dataConvertidaMes + dataConvertidaAno) / 10;
multiplicacaoData = (dataConvertidaDia * dataConvertidaMes * dataConvertidaAno);
//pegando parte decimal e o antepenúltimo algarismo à direita
//Saída de dados (Só para testes)
System.out.println("-------------------------------");
System.out.println(nomeCompleto);
System.out.println("-------------------------------");
System.out.println(dataDeNascimento);
System.out.println("-------------------------------");
System.out.println(subNomeCompleto + "-" + subNomeCompleto.toUpperCase());//com maisculo e sem
System.out.println("-------------------------------");
System.out.println(subDataDia + "-" + subDataMes + "-" + subDataAno);
System.out.println("-------------------------------");
System.out.println(dataConvertidaDia + "-" + dataConvertidaMes + "-" + dataConvertidaAno);
System.out.println("-------------------------------");
System.out.println(somaData + "-" + multiplicacaoData);
}
}