Estou fazendo um exercito e queria ajuda para ver se estou no caminho certo!!
package org.lpt;
import java.util.Scanner;
import java.text.DecimalFormat;
public class Lista9 {
public static void main(String[] args) {
Scanner leia = new Scanner(System.in);
DecimalFormat df = new DecimalFormat("0.00");
float hrextra, horasfalta, codigof = 0,fatorH = 0,gratificação;
System.out.println("Insira as horas extras: ");
hrextra = leia.nextFloat();
System.out.println("Insira as horas que o funcionário faltou: ");
horasfalta = leia.nextFloat();
if (codigof==0) {
System.out.print("Digite o codigo do Funcionário:");
codigof=leia.nextFloat();
}else if (fatorH >=2400) {
gratificação = (float) 500;
}else if(fatorH >= 1801 && fatorH >= 2400) {
gratificação = (float) 400;
}else if(fatorH >=1201 && fatorH >= 1800) {
gratificação = (float) 300;
}else if (fatorH >=600 && fatorH >=1200) {
gratificação = (float) 600;
}else if (fatorH <=600){
gratificação = (float)100;
}
fatorH = hrextra - 2/3 * horasfalta;
Obs. 1: embora o java aceite que as variáveis sejam grafadas com o padrão Unicode e, portanto, com acentuação, isso é desencorajado. Prefira gratificacao
à gratificação
;
Obs. 2: você pode informar à JVM que o valor literal é um float
sem precisar fazer um casting. Para isso, basta informar o caractere 'f'
depois do valor literal. Por exemplo:
gratificacao = 400f;
Obs. 3: quando ele indica [vlr1, vlr2], presume-se que seja um intervalo fechado, ou seja, de vlr1 a vlr2, incluindo esses valores, mas não abaixo e nem acima deles.
Então, por exemplo, aqui:
seria correto assim:
fatorH >= 1801 && fatorH <= 2400
.
Creio que tu tens que usar um laço de repetição para ler até 100 funcionários ou quando informar codigo = 0
. Além disso, deve impedir que se digite valores negativos de horas.
1 curtida
Nesse laço de repetição acha que precisa que eu coloco na parte que a pessoa me informar as horas extras e as que foram faltadas ?
Então, serão no máximo 100 funcionários então, a menos que digite funcionário com código 0, serão 100 leituras. Logo, as leituras de horas extras e de horas de falta deverão estar dentro do laço. Além disso, se for digitado um valor de hora negativo, deve-se ignorar o valor digitado e pedir para digitar novamente até que seja um valor maior que 0.
Repare que ainda faltam várias coisas para serem atendidas pelo seu código, de acordo com o que pede o exercício.