Skip to content

Instantly share code, notes, and snippets.

@SpinnerZ
Last active September 11, 2024 16:12
Show Gist options
  • Select an option

  • Save SpinnerZ/7152928cbd9e61f56f0b6d53dd35ad10 to your computer and use it in GitHub Desktop.

Select an option

Save SpinnerZ/7152928cbd9e61f56f0b6d53dd35ad10 to your computer and use it in GitHub Desktop.
Lógica de programação com Java: Métodos

Utilizando métodos, faça um programa que:

  1. Com base em uma temperatura em graus celsius, a converta e exiba em Kelvin (K), Réaumur (Re), Rankine (Ra) e Fahrenheit (F), seguindo as fórmulas: F = C * 1.8 + 32; K = C + 273.15; Re = C * 0.8; Ra = C * 1.8 + 32 + 459.67
  2. Tendo um conjunto de dados contendo a altura e o sexo (masculino, feminino) de 10 pessoas. Faça um algoritmo que calcule e escreva:
    1. a maior e a menor altura do grupo;
    2. média de altura dos homens;
    3. o número de mulheres.
  3. Calcule a média de salários de uma empresa, pedindo ao usuário a grade de funcionários e os salários, e devolvendo a média salarial.
  4. Dada uma parede em formato retangular, cuja altura é ap (altura da parede) e a largura lp (largura da parede) precisa ser coberta por azulejos também retangulares. O azulejo retangular tem dimensões aa (altura do azulejo) e la (largura do azulejo). Escreva um programa que leia as quatro medidas hp, lp, ha e la, calcule e imprima quanto azulejos com as medidas dadas são necessários para cobrir a parede dada.
  5. Calcule e apresente o valor do volume de uma lata de óleo, utilizando fórmula: V = 3.14159 * R * R * A, em que as variáveis: V, R e A representam respectivamente o volume, o raio e a altura.
  6. Determine a quantidade de cavalos necessários para se levantar uma massa de m quilogramas a uma altura de h metros em t segundos. Considere cavalos = (m * h / t) / 745,6999

Você pode revisitar exercícios antigos, melhorando suas respostas com a utilização de métodos.

package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Bem vindo à calculadora básica!");
calculatorLoopMenu(scanner);
scanner.close();
}
private static void calculatorLoopMenu(Scanner scanner) {
int result;
String operationExhibitionName;
int element1;
int element2;
char operationType;
do {
System.out.println(
"""
\n \nInsira a operação que deseja realizar:
+ adição
- subtração
* multiplicação
/ divisão
% resto da divisão
0 Encerrar a aplicação
""");
operationType = scanner.next().charAt(0);
System.out.print("\nInsira o operador: ");
element1 = scanner.nextInt();
System.out.print("\nInsira o operando: ");
element2 = scanner.nextInt();
if (isValidOperation(operationType)) {
result = doCalculate(operationType, element1, element2);
operationExhibitionName = getOperationMessage(operationType);
showResults(operationExhibitionName, result);
} else {
showErrorMessage();
break;
}
} while (operationType != '0');
}
private static void showResults(String operationExhibitionName, int exhibitionResult) {
System.out.printf("\nO %s é : %d", operationExhibitionName, exhibitionResult);
}
private static void showErrorMessage() {
System.out.println("Ocorreu um erro ao calcular os resultados");
}
// assinatura:
// visibilidade - tipo de retorno - nome - parâmetros - bloco de código
private static int doCalculate(char operationType, int firstElement, int secondElement) {
return switch (operationType) {
case '+' -> firstElement + secondElement;
case '-' -> firstElement - secondElement;
case '*' -> firstElement * secondElement;
case '/' -> firstElement / secondElement;
case '%' -> firstElement % secondElement;
default -> -0;
};
}
private static String getOperationMessage(char operationType) {
return switch (operationType) {
case '+' -> "resultado da soma";
case '-' -> "resultado da subtração";
case '*' -> "resultado da multiplicação";
case '/' -> "resultado da divisão";
case '%' -> "resto da divisão";
default -> "Operação não reconhecida";
};
}
private static boolean isValidOperation(char operationType) {
return switch (operationType) {
case '+', '-', '*', '/', '%' -> true;
default -> false;
};
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment