Utilizando e testando o fórum pela primeira vez :)
public static void parOuImpar(int valor) {
String res = ((valor & 1) == 0 ? "par" : "impar");
System.out.printf("O valor %d é %s%n", valor, res);
}
public static void determinaAprovacao(double nota) {
if (nota > 10 || nota < 0) {
System.out.println("Nota: " + nota + " é inválida");
return;
}
String res =
nota >= 7 ? "foi aprovado" :
nota >= 5 ? "está de recuperação" : "foi reprovado";
System.out.printf("O estudante teve média %.2f e %s%n", nota, res);
}
public static void verificaSenha(String senha) {
String senhaPredefinida = "123456";
String res = senha.equals(senhaPredefinida) ? "Acesso permitido" : "Acesso negado";
System.out.println(res);
}
public static void verificaNumeroMaior(int num1, int num2) {
if (num1==num2) {
System.out.println("os números são iguais");
return;
}
System.out.println("O número " + ((num1>num2) ? num1:num2) + " é maior");
}
public static void verificaDiaUtil(String diaDaSemana) {
Map<String, Boolean> map = Map.of(
"segunda", true,
"terca", true,
"quarta", true,
"quinta", true,
"sexta", true,
"sabado", false,
"domingo", false
);
diaDaSemana = diaDaSemana.trim().toLowerCase();
if(!map.containsKey(diaDaSemana)) {
System.out.println("Insira um dia válido");
return;
}
String res = map.get(diaDaSemana) ? " é " : " não é ";
System.out.println(diaDaSemana + res + "um dia útil");
}
public static void verificaTriangulo(int lado1, int lado2, int lado3) {
if ( !((lado1+lado2 > lado3) && (lado2+lado3 > lado1) && (lado1+lado3 > lado2)) ) {
System.out.println("Não é um triângulo");
return;
}
System.out.println("É um triângulo");
}
public static void verificaDoador(int idade, int peso) {
boolean idadeCorreta = idade >= 18 && idade <= 65;
boolean pesoCorreto = peso > 50;
String motivo = "Motivo: ";
if (!idadeCorreta || !pesoCorreto) {
System.out.println("Doador não compatível");
if (!idadeCorreta) System.out.println(motivo + "a idade do doador deve ser entre 18 e 65 anos");
if (!pesoCorreto) System.out.println(motivo + "o peso do doador deve ser maior que 50kg");
return;
}
System.out.println("Doador compatível");
}
public static void verificaAcesso(int codigo, int nivelPermissao) {
int codigoSecreto = 2023;
boolean codigoCorreto = codigoSecreto == codigo;
boolean nivelPermissaoCorreto = nivelPermissao <= 3 && nivelPermissao >= 1;
if (!codigoCorreto || !nivelPermissaoCorreto) {
System.out.println("Acesso não permitido");
if (!codigoCorreto) System.out.println("Código incorreto");
if (!nivelPermissaoCorreto) System.out.println("Nível de permissão incorreto");
return;
}
System.out.println("Acesso permitido.");
}
Testes:
public static void testes() {
for(int i = -2; i < 3; i++) {
parOuImpar(i);
}
System.out.println("******");
double[] notas = {11, 10, 7.1, 7.0, 6.9, 5, 4.9, 0, -1};
for(double nota : notas) {
determinaAprovacao(nota);
}
System.out.println("******");
verificaSenha("1234"); // senha incorreta
verificaSenha("123456");
System.out.println("******");
verificaNumeroMaior(1,2);
verificaNumeroMaior(1,1);
System.out.println("******");
verificaDiaUtil("segunda");
verificaDiaUtil("Segunda");
verificaDiaUtil(" Segunda ");
verificaDiaUtil("terça"); // 'Ç' não é válido
verificaDiaUtil("quarta");
verificaDiaUtil("sabado");
verificaDiaUtil("domingo");
System.out.println("******");
verificaTriangulo(3,4,5);
verificaTriangulo(5,5,20); // inválido
System.out.println("******");
verificaDoador(18,55); // compatível
verificaDoador(17,55); // idade incompatível
verificaDoador(65,55); // compatível
verificaDoador(66,49); // idade e peso incompatíveis
System.out.println("******");
verificaAcesso(2023,1); // permitido
verificaAcesso(2023,3); // permitido
verificaAcesso(2023,4); // nivel invalido
verificaAcesso(2021,1); // codigo invalido
verificaAcesso(2021,4); // codigo e nivel invalidos
}