Informática, perguntado por LorenaPereira, 9 meses atrás

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.


996238569: Me ajuda pfvr, se vc conseguir fazer!?
LorenaPereira: Passa seu zap

Soluções para a tarefa

Respondido por macaibalaura
0

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!

Perguntas interessantes