Pessoal boa noite
Consegui concluir a minha tarefa mas, ainda ta dando uns erros que não consegui resolver, eis o codigo
import java.util.Scanner;
public class Tarefa05 {
private String nome;
private int qtdHoras;
private int qtdHoraExtras;
private int qtdMinutos;
private double valorHoras;
private double salarioTotal;
public Tarefa05(String nome, int qtdHoras, int qtdHoraExtras,
int qtdMinutos, double valorHoras, double salarioTotal){
this.nome = nome;
this.qtdHoras = qtdHoras;
this.qtdHoraExtras = qtdHoraExtras;
this.qtdMinutos = qtdMinutos;
this.valorHoras = valorHoras;
this.salarioTotal= salarioTotal;
}
private String getNome() {
return this.nome;
}
private void setNome(String nome) {
this.nome = nome;
}
private int getQtdHoras() {
return qtdHoras;
}
private void setQtdHoras(int qtdHoras) {
this.qtdHoras = qtdHoras;
}
private int getQtdMinutos() {
return qtdMinutos;
}
private void setQtdMinutos(int qtdMinutos) {
this.qtdMinutos = qtdMinutos;
}
private void setQtdHoraExtras(int qtdHoraExtras) {
this.qtdHoraExtras = qtdHoraExtras;
}
private int getQtdHoraExtras() {
return qtdHoraExtras;
}
private double getValorHoras() {
return valorHoras;
}
private void setValorHoras(double valorHoras) {
this.valorHoras = valorHoras;
}
private double getSalarioTotal() {
return salarioTotal;
}
private void setSalarioTotal(double salarioTotal) {
this.salarioTotal = salarioTotal;
}
public static void main(String[] args){
Scanner ler = new Scanner(System.in);
String nome;
int qtdHoras;
int qtdHoraExtras;
int qtdMinutos;
double minutosEmHoras;
int i=0;
Tarefa05 funcionario1 = new Tarefa05(null,0,0,0,0.0,0.0);
Tarefa05 funcionario2 = new Tarefa05(null,0,0,0,0.0,0.0);
Tarefa05 funcionario3 = new Tarefa05(null,0,0,0,0.0,0.0);
for (i=0;i<3;i++){
nome = null;
qtdHoras=0;
qtdHoraExtras=0;
qtdMinutos=0;
minutosEmHoras=0;
System.out.print("Digite o nome do Funcionario: ");
nome=ler.nextLine();
System.out.print("Digite a quantidade de horas trabalhadas (sem minutos): ");
qtdHoras=ler.nextInt();
if(qtdHoras>40){
qtdHoraExtras=qtdHoras-40;
qtdHoras=40;
}
System.out.print("Digite a quantidade de minutos: ");
qtdMinutos = ler.nextInt();
while(qtdMinutos>59){
System.out.println("A quantidade de minutos não pode ser suérior a 60");
System.out.print("Digite a quantidade de minutos: ");
qtdMinutos = ler.nextInt();
}
minutosEmHoras=((double)qtdMinutos)/60;
System.out.print("Digite o valor da Hora: ");
switch(i){
case 0: funcionario1.setNome(nome);
funcionario1.setQtdHoras(qtdHoras);
funcionario1.setQtdHoraExtras(qtdHoraExtras);
funcionario1.setQtdMinutos(qtdMinutos);
funcionario1.setValorHoras(ler.nextDouble());
funcionario1.setSalarioTotal((funcionario1.qtdHoras+minutosEmHoras)*funcionario1.getValorHoras());break;
case 1: funcionario2.setNome(nome);
funcionario2.setQtdHoras(qtdHoras);
funcionario2.setQtdHoraExtras(qtdHoraExtras);
funcionario2.setQtdMinutos(qtdMinutos);
funcionario2.setValorHoras(ler.nextDouble());
funcionario2.setSalarioTotal((funcionario2.qtdHoras+minutosEmHoras)*funcionario2.getValorHoras());break;
case 2: funcionario3.setNome(nome);
funcionario3.setQtdHoras(qtdHoras);
funcionario3.setQtdHoraExtras(qtdHoraExtras);
funcionario3.setQtdMinutos(qtdMinutos);
funcionario3.setValorHoras(ler.nextDouble());
funcionario3.setSalarioTotal((funcionario3.qtdHoras+minutosEmHoras)*funcionario3.getValorHoras());break;
}
}
System.out.printf("Objeto Funcionario1: %s qtdHora: %s qtdHoraExtra: %s " +
"qtdMinutos: %s valorHora: %s salarioTotal: %s\n" +
"Objeto funcionario2: %s qtdHora: %s qtdHoraExtra: %s " +
"qtdMinutos: %s valorHora: %s salarioTotal: %s\n"+
"Objeto funcionario3: %s qtdHora: %s qtdHoraExtra: %s " +
"qtdMinutos: %s valorHora: %s salarioTotal: %s",
funcionario1.getNome(), funcionario1.getQtdHoras(),
funcionario1.getQtdHoraExtras(), funcionario1.getQtdMinutos(),
funcionario1.getValorHoras(), funcionario1.getSalarioTotal(),
funcionario2.getNome(), funcionario2.getQtdHoras(),
funcionario2.getQtdHoraExtras(), funcionario1.getQtdMinutos(),
funcionario2.getValorHoras(), funcionario2.getSalarioTotal(),
funcionario3.getNome(), funcionario3.getQtdHoras(),
funcionario3.getQtdHoraExtras(), funcionario3.getQtdMinutos(),
funcionario3.getValorHoras(), funcionario3.getSalarioTotal());
}
}
Ta acontcendo o seguinte:
Quando eu acabo de inserir os dados do funcionario1, ao realizar o loop, o programa ta voltado da segite forma:
ele imprime - Digite o nome do funcionario: Digite a qtd de horas trabalhadas, ou seja ele imprime a interface mas não esta habilitando a ~leitura do nome, neste momento ele ta pedindo a qtd horas.
outra coisa, ele ta calculando todos os salarios, direitinho. exibindo os dados do funcionario1 beleza, mas nos funcionario2 e funcionario3 não esta imprimindo o nome e nem os minutos.
e pra finalizar como limito a impressão de apenas duas casas deciamais?
ja tententei “%.2” mas, não consegui
Alguem pode me ajudar?