Olá,
Esta é a minha solução:
import java.util.Scanner;
public class VerificandoCompatibilidadeDeSangue {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); //Scanner scanner = new Scanner(System.in); cria um objeto Scanner que lê a entrada do teclado (System.in). Esse objeto scanner é então usado para obter a idade e o peso do doador. System.in é um objeto que permite meu programa ler dados de entrada do usuário através do teclado.
System.out.println("Digite a idade do doador: "); //println é um método usado para imprimir uma linha de texto na tela (saída padrão).
int idadeDoDoador = scanner.nextInt();
System.out.println("Digite o peso do doador: ");
int pesoDoDoador = scanner.nextInt();
if (idadeDoDoador >=18 && pesoDoDoador >50) {// talvez fosse mais seguro eu ter declarado previarmente uma variável com esse valor de 18 e de 50?
System.out.println("Legal, você é compatível para doação de sangue");
} else {
System.out.println("Desculpe, infelizmente você não é compatível para doação de sangue.");
System.out.println("Motivo: Deve ter entre 18 e 65 anos e pesar mais de 50kg. ");
}
scanner.close();
}
}
&
Esta é a solução do instrutor:
import java.util.Scanner;
public class VerificaDoacaoSangue {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Digite a idade do doador: ");
int idade = scanner.nextInt();
System.out.print("Digite o peso do doador (em kg): ");
double peso = scanner.nextDouble();
boolean idadeValida = idade >= 18 && idade <= 65;
boolean pesoValido = peso > 50;
if (idadeValida && pesoValido) {
System.out.println("O doador é compatível para doação de sangue.");
} else {
System.out.println("O doador não é compatível. Motivo:");
if (!idadeValida) {
System.out.println("- Deve ter entre 18 e 65 anos.");
}
if (!pesoValido) {
System.out.println("- Deve pesar mais de 50 kg.");
}
}
scanner.close();
}
}
Gostaria de saber, por gentileza, se consegui atender ao que se pede a questão. Conforme o enunciado da questão, pensei que a saída tivesse que ser algo breve de tipo, pode ou não ser doador de sangue q foi o q fiz. Mas na resolução do instrutor, ele aparentemente detalha, SEPARADAMENTE, por exemplo o pq a pessoa não pode dizendo q doador tem q ter entre 18 e 65 anos ou a pessoa tem q pesar mais de 50 kg. Pode me ajudar a entender se a minha solução está correta (ou não) a partir do enunciado da questão. Eu acho q entendi o q o instruto fez... ele na parte do if diz q se a pessoa tiver o peso e idade corretos é doador compatível. Se não tiver idade, então não é doador por conta da idade. Se não tiver peso suficiente, tbm n é pq conta do peso. Não é isso? Para finalizar, gostaria de entender o pq o instrutor usou o boolean para declarar varivael e se é necessário mesmo declarar essas variaveis, visto que na minha solução não declarei. Agradeço toda a atenção e esforço colocados na minha solicitação. Muito obg! Se puder oferecer feedback e dicas sobre o q fiz, agradeço mtão tb!!! <3 BRIGADÃO.