Alguém que entenda de java?
1 Maurício está desenvolvendo um programa em Java que consiste na leitura de um número de voo e na leitura do peso, em quilogramas, de 10 de bagagens a serem despachadas. O programa deve calcular o peso total da carga e o peso médio de cada volume de bagagem.
Durante os testes do programa, Maurício deparou-se com um problema de entrada de dados: o programa que ele estava desenvolvendo fechava inesperadamente quando o usuário inseria no sistema um tipo de dado incompatível com o declarado na variável utilizada para o armazenamento da informação. Isso pode vir a causar um grande transtorno, pois o usuário fica sem saber motivo de o programa encerrar-se inesperadamente.
Considerando que o número do voo é uma sequência alfanumérica e que uma bagagem pode ter um peso que inclua casas decimais, relate como Maurício pode resolver esse problema utilizando tratamento de erros.
Soluções para a tarefa
O problema consistia na parte de valores negativos, então deve-se criar um programa que impeça o cliente de digitar valores negativos e zero.
Impede que o usuário tente digitar texto no lugar de números.
Programa em Java.
import java.util.Scanner;
public class Validacao {
public static void main(String[] args) {
int numVoo = 0;
int count = 1;
double pesoMala = 0;
double pesoTotal = 0;
String temp;
boolean check = false;
Scanner entrada = new Scanner(System.in);
while(check==false) {
System.out.println("Informe o número do seu Voo: ");
temp = entrada.nextLine();
try {
numVoo = Integer.parseInt(temp);
if(numVoo>0) {
check = true;
System.out.println("Número do voo cadastrado com sucesso!\\n");
}else {
System.out.println("Informe um valor positivo!\\n");
}
}catch(Exception e) {
System.out.println("informe um valor numérico!(Ex: 30)\\n");
continue;
}
}
for(int i=0;i<10;i++) {
check = false;
System.out.println("Voo número "+numVoo);
while(check==false) {
System.out.println("Informe o peso da mala nº "+count+": ");
temp = entrada.nextLine();
try {
pesoMala = Double.parseDouble(temp);
if(pesoMala>0) {
System.out.println("Peso da mala "+ count+ " cadastrado com sucesso!");
count++;
check = true;
}else {
System.out.println("Informe um valor positivo!\\n");
}
}catch(Exception e) {
System.out.println("informe um valor real separando decimais com ponto!(Ex: 8.43)\\n");
continue;
}
}
pesoTotal = pesoTotal + pesoMala;
System.out.println("Peso parcial: "+pesoTotal+" Kg");
System.out.println("Peso médio: "+pesoTotal/(count - 1)+" Kg\\n");
}
entrada.close();
System.out.println("O Peso Total das malas é: "+pesoTotal+" Kg");
System.out.println("O Peso Médio das Mala é: "+pesoTotal/(count - 1)+" Kg");
}
}
Espero ter ajudado, bons estudos!