Me ajude com essa atividade

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.

Entendi, obrigada