Created
April 14, 2012 15:27
-
-
Save hausen/2385213 to your computer and use it in GitHub Desktop.
UFABC - aula PI funções exemplo 4
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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