Olá!
Segue a minha resolução:
- Classe Medidor:
public class Medidor {
String local;
float temperatura;
public String getLocal() {
return local;
}
public void setLocal(String local) {
this.local = local;
}
public float getTemperatura() {
return temperatura;
}
public void setTemperatura(float temperatura) {
this.temperatura = temperatura;
}
public void alertaTemperatura(){
System.out.printf("Sensor no local: %s \nTemperatura: %.2f °C \nAlerta: temperatura acima do limite!",local,temperatura);
}
public void temperaturaNormal(){
System.out.printf("Sensor no local: %s \nTemperatura: %.2f °C\nTemperatura normal!", local,temperatura);
}
}
- Classe Main:
import java.util.InputMismatchException;
import java.util.Locale;
import java.util.Scanner;
public class Main {
public static final float LIMITE_TEMPERATURA = 37.5F;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in).useLocale(Locale.US);
Medidor medidor1 = new Medidor();
System.out.println("Insira o local da medição:");
medidor1.local = sc.nextLine();
medidor1.temperatura = 0;
while (true)
try {
System.out.println("Insira a temperatura do local");
medidor1.temperatura = sc.nextFloat();
break;
} catch (InputMismatchException e){
System.out.println("Temperatura deve ser um número!\n" +
"Favor inserir corretamente");
sc.nextLine();
}
if(medidor1.temperatura <= LIMITE_TEMPERATURA){
medidor1.temperaturaNormal();
} else {
medidor1.alertaTemperatura();
}
sc.close();
}
}