Skip to content

Instantly share code, notes, and snippets.

@hausen
Created April 14, 2012 15:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hausen/2385213 to your computer and use it in GitHub Desktop.
Save hausen/2385213 to your computer and use it in GitHub Desktop.
UFABC - aula PI funções exemplo 4
package funcoes;
import javax.swing.JOptionPane;
public class Funcoes {
public static void imprimeResultado(String nomeOp, double res)
{
JOptionPane.showMessageDialog(null,
"O resultado da " + nomeOp + " é: " + res);
}
public static void soma(double n1, double n2)
{
imprimeResultado("soma", n1 + n2);
}
public static void subtracao(double n1, double n2)
{
imprimeResultado("subtração", n1 - n2);
}
public static void multiplicacao(double n1, double n2)
{
imprimeResultado("multiplicação", n1*n2);
}
public static void divisao(double n1, double n2)
{
imprimeResultado("divisao", n1/n2);
}
public static long calculaFatorial(int n)
{
long fat = 1;
for (int i=2; i<=n; i++)
fat = fat * i;
return fat;
}
public static void fatorial(int n)
{
long fat = calculaFatorial(n);
JOptionPane.showMessageDialog(null,
"O resultado do fatorial é: "+fat);
}
public static void combinacao(int n, int k)
{
long fatn = calculaFatorial(n);
long fatk = calculaFatorial(k);
long fatnk = calculaFatorial(n-k);
JOptionPane.showMessageDialog(null,
"O resultado da combinação é: "+(fatn/(fatk*fatnk)));
}
public static double leDouble()
{
double n = Double.parseDouble(JOptionPane.showInputDialog("Entre com um número real: "));
return n;
}
public static int leInt()
{
int n = Integer.parseInt(JOptionPane.showInputDialog("Entre com um inteiro: "));
return n;
}
public static void main(String[] args) {
// declaração de variáveis. Observe que algumas variáveis precisaram ser inicializadas aqui.
int opcao=1;
// laço oferecendo opções de operações aritméticas e saída do programa
while (opcao!=7){
opcao=Integer.parseInt(JOptionPane.showInputDialog("Entre com uma opção: \n (1) Soma \n (2) Subtração \n (3) Multiplicação \n (4) Divisão \n (5) Fatorial \n (6) Combinação \n (7) Sair"));
if (opcao!=7) { // escolha é diferente de "sair", ou seja, alguma operação aritmética foi escolhida
if (opcao==1){ // soma
double n1 = leDouble();
double n2 = leDouble();
soma(n1, n2);
} else if (opcao==2){ // subtração
double n1 = leDouble();
double n2 = leDouble();
subtracao(n1, n2);
} else if (opcao==3){ // multiplicação
double n1 = leDouble();
double n2 = leDouble();
multiplicacao(n1, n2);
} else if (opcao==4){ // divisão
double n1 = leDouble();
double n2 = leDouble();
divisao(n1, n2);
} else if (opcao==5){ // fatorial
int n = leInt();
fatorial(n);
} else if (opcao==6){// combinação
int n = leInt();
int k = leInt();
combinacao(n, k);
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment