quarta-feira, 29 de junho de 2011

Calculadora Científica (JAVA)

--------------------------------------------------------------------------------
UtilizaCaculadora.java (Parte de Interface/Funcionalidades)
--------------------------------------------------------------------------------

package Calculando;

import javax.swing.JOptionPane;
public class UtilizaCaculadora {
public static void main(String[] args) {


Calculadora c1= new Calculadora();


String men = JOptionPane.showInputDialog(null,"Digite a opção:\n\n0. + , - , * , /\n1. 1/X\n2. X²\n3. x³\n4. X^Y\n5. V¯\n6. ³V¯\n7. ×V¯\n8. sin\n9. cos\n10. tan\n11. log\n12. ln\n13. X!\n14. Bin p/ Dec\n15. Bin p/ Oct\n16. Bin p/ Hex\n17. Dec p/ Bin\n18. Dec p/ Oct\n19. Dec p/ Hex\n20. Oct p/ Bin\n21. Oct p/ Dec\n22. Oct p/ Hex\n23. Hex p/ Bin\n24. Hex p/ Dec\n25. Hex p/ Oct","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);


int menu = Integer.parseInt(men);


switch (menu){


case 0:{

String a=JOptionPane.showInputDialog(null,"Digite O Primeiro Número","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

double num = Double.parseDouble(a);

c1.setOperando1(num);

String op=JOptionPane.showInputDialog(null,"Digite o sinal","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

char opcao= ' ';

opcao=op.charAt(0);

String b=JOptionPane.showInputDialog(null,"Digite o Segundo Número","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

double num2 = Double.parseDouble(b);

c1.setOperando2(num2);

if(opcao=='+')

c1.soma();


if (opcao=='-')

c1.subitrai();


if (opcao=='*')

c1.multiplica();


if(opcao=='/')

c1.divide();


JOptionPane.showMessageDialog(null,c1.getResultado(),"Resultado",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

break;

}


case 1:{

String inv = JOptionPane.showInputDialog(null,"Digite O Número A Ser Invertido","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

double invertido = Double.parseDouble(inv);

c1.setOperando3(invertido);

c1.inverte();

JOptionPane.showMessageDialog(null,c1.getResultadoCientifico(),"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

}


case 2 :{

String q = JOptionPane.showInputDialog(null,"Digite O Número Para Calcular O Qudrado","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

double quad = Double.parseDouble(q);

c1.setOperando3(quad);

c1.quadrado();

JOptionPane.showMessageDialog(null,c1.getResultadoCientifico(),"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

}


case 3:{

String c = JOptionPane.showInputDialog(null,"Digite O Número Para Calcular O Cubo","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

double cbo = Double.parseDouble(c);

c1.setOperando3(cbo);

c1.cubo();

JOptionPane.showMessageDialog(null,c1.getResultadoCientifico(),"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

break;

}


case 4:{

String p = JOptionPane.showInputDialog(null,"Digite O Primeiro Número","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

String en =JOptionPane.showInputDialog(null,"Digite O Primeiro Número","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

double pot = Double.parseDouble(p);

double cia = Double.parseDouble(en);

c1.setOperando3(pot);

c1.setOperando4(cia);

c1.potencia();

JOptionPane.showMessageDialog(null,c1.getResultadoCientifico(),"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

break;

}


case 5:{

String r = JOptionPane.showInputDialog(null,"Digite O Número Para Calcular A Raiz Quadrada","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

double z = Double.parseDouble(r);

c1.setOperando3(z);

c1.raizQuadrada();

JOptionPane.showMessageDialog(null,c1.getResultadoCientifico(),"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

break;

}


case 6:{

String rt = JOptionPane.showInputDialog(null,"Digite O Número Para Calcular A Raiz Cúbica","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

double rc = Double.parseDouble(rt);

c1.setOperando3(rc);

c1.raizCubica();

JOptionPane.showMessageDialog(null,c1.getResultadoCientifico(),"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

break;

}


case 7:{

String rr = JOptionPane.showInputDialog(null,"Digite A Base Para Calcular A Raiz","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

double ra = Double.parseDouble(rr);

c1.setOperando3(ra);

String rrr =JOptionPane.showInputDialog(null,"Digite o Índice Para Calcular A Raiz");

double s = Double.parseDouble(rrr);

c1.setOperando4(s);

c1.raizQualquer();

JOptionPane.showMessageDialog(null,c1.getResultadoCientifico(),"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

break;

}


case 8:{

String se = JOptionPane.showInputDialog(null,"Digite O Número Para Calcular O Seno","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

double sen = Double.parseDouble(se);

c1.setOperando3(sen);

c1.seno();

JOptionPane.showMessageDialog(null,c1.getResultadoCientifico(),"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

break;

}


case 9:{

String co = JOptionPane.showInputDialog(null,"Digite O Número Para Calcular O Cosseno","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

double cos = Double.parseDouble(co);

c1.setOperando3(cos);

c1.cosseno();

JOptionPane.showMessageDialog(null,c1.getResultadoCientifico(),"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

break;

}


case 10:{

String t = JOptionPane.showInputDialog(null,"Digite O Número Para Calcular A Tangente","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

double tg = Double.parseDouble(t);

c1.setOperando3(tg);

c1.tangente();

JOptionPane.showMessageDialog(null,c1.getResultadoCientifico(),"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

break;

}


case 11:{

String l = JOptionPane.showInputDialog(null,"Digite O Número Para Calcular O Logaritimo","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

double log = Double.parseDouble(l);

c1.setOperando3(log);

c1.logaritimo();

JOptionPane.showMessageDialog(null,c1.getResultadoCientifico(),"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

break;

}


case 12:{

String nep = JOptionPane.showInputDialog(null,"Digite O Número Para Calcular O Logaritimo Neperiano","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

double ln = Double.parseDouble(nep);

c1.setOperando3(ln);

c1.neperiano();

JOptionPane.showMessageDialog(null,c1.getResultadoCientifico(),"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

break;

}

case 13:{

String ft = JOptionPane.showInputDialog(null,"Digite O Número Para Calcular O Fatorial","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

double fat = Double.parseDouble(ft);

c1.setOperando3(fat);

c1.fatorial();

JOptionPane.showMessageDialog(null,c1.getResultadoCientifico(),"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

break;

}


case 14:{

String q = JOptionPane.showInputDialog(null,"Digite O Número Na Base Binária Para Convertê-lo em Decimal","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

int bindec = Integer.parseInt(q,2);

JOptionPane.showMessageDialog(null,bindec,"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

break;

}


case 15:{

String binoct = JOptionPane.showInputDialog(null,"Digite O Número Na Base Binária Para Convertê-lo em Octal","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

int bioc = Integer.parseInt(binoct,2);

JOptionPane.showMessageDialog(null,Integer.toOctalString(bioc),"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

break;

}

case 16:{

String binhex = JOptionPane.showInputDialog(null,"Digite O Número Na Base Binária Para Convertê-lo em Hexadecimal","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

int binh = Integer.parseInt(binhex,2);

JOptionPane.showMessageDialog(null,Integer.toHexString(binh),"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

break;

}


case 17:{

String bi = JOptionPane.showInputDialog(null,"Digite O Número Na Base Decimal Para Convertê-lo em Binário","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

int bin=Integer.parseInt(bi);

JOptionPane.showMessageDialog(null,Integer.toBinaryString(bin),"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

break;

}


case 18:{

String sc = JOptionPane.showInputDialog(null,"Digite O Número Na Base Decimal Para Convertê-lo em Octal","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

int oct=Integer.parseInt(sc);

JOptionPane.showMessageDialog(null,Integer.toOctalString(oct),"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

break;

}


case 19:{

String he = JOptionPane.showInputDialog(null,"Digite O Número Na Base Decimal Para Convertê-lo em Hexadecimal","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

int hex=Integer.parseInt(he);

JOptionPane.showMessageDialog(null,Integer.toHexString(hex),"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

break;

}


case 20:{

String octbin = JOptionPane.showInputDialog(null,"Digite O Número Na Base Octal Para Convertê-lo em Binário","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

int ocbi = Integer.parseInt(octbin,8);

JOptionPane.showMessageDialog(null,Integer.toBinaryString(ocbi),"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

break;

}


case 21:{

String p = JOptionPane.showInputDialog(null,"Digite O Número Na Base Octal Para Convertê-lo em Decimal","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

int octdec = Integer.parseInt(p,8);

JOptionPane.showMessageDialog(null,octdec,"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

break;

}


case 22:{

String octhex = JOptionPane.showInputDialog(null,"Digite O Número Na Base Octal Para Convertê-lo em Hexadecimal","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

int octh = Integer.parseInt(octhex,8);

JOptionPane.showMessageDialog(null,Integer.toHexString(octh),"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

break;

}


case 23:{

String hexbin = JOptionPane.showInputDialog(null,"Digite O Número Na Base Hexadecimal Para Convertê-lo em Binário","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

int hebi = Integer.parseInt(hexbin,16);

JOptionPane.showMessageDialog(null,Integer.toBinaryString(hebi),"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

break;

}


case 24:{

String w = JOptionPane.showInputDialog(null,"Digite O Número Na Base Hexadecimal Para Convertê-lo em Decimal","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

int hexdec = Integer.parseInt(w,16);

JOptionPane.showMessageDialog(null,hexdec,"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

break;

}


case 25:{

String hexoct = JOptionPane.showInputDialog(null,"Digite O Número Na Base Hexadecimal Para Convertê-lo em Octal","Calculadora Científica",JOptionPane.QUESTION_MESSAGE);

int hect = Integer.parseInt(hexoct,16);

JOptionPane.showMessageDialog(null,Integer.toOctalString(hect),"RESULTADO",JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

break;

}

default:

JOptionPane.showMessageDialog(null,"Numero Inválido","Argumento Inválido",JOptionPane.WARNING_MESSAGE);

}//switch


} //main


}//class

-------------------------------------------------------------------------------
Calculadora.java (Parte onde são efetuatos os cálcucos)
--------------------------------------------------------------------------------

package Calculando;

public class Calculadora {


String c="";

int b=0;

private double operando1=0;

private double operando2=0;

private double operando3=0;

private double operando4=0;

private double resutadoCientifico=0;

private double resultado=0;

protected void setOperando1(double n){

operando1=n;

}

protected void setOperando2(double n){

operando2=n;

}

protected void setOperando3(double n){

operando3=n;

}

protected void setOperando4(double n){

operando4=n;

}

protected double getResultado(){

return resultado;

}

protected double getResultadoCientifico(){

return resutadoCientifico;

}

public void soma(){

resultado=operando1+operando2;

}

public void subitrai(){

resultado=operando1-operando2;

}

public void multiplica(){

resultado=operando1*operando2;

}

public void divide(){

resultado=operando1/operando2;

}

public void inverte(){

resutadoCientifico=1.0/operando3;

}

public void quadrado(){

resutadoCientifico=Math.pow(operando3,2);

}

public void cubo(){

resutadoCientifico=Math.pow(operando3,3);

}

public void potencia(){

resutadoCientifico=Math.pow(operando3,operando4);

}

public void raizQuadrada(){

resutadoCientifico=Math.pow(operando3,0.5);

}

public void raizCubica(){

resutadoCientifico=Math.pow(operando3,0.3333333333333333);

}

public void raizQualquer(){

resutadoCientifico=Math.pow(operando3, 1.0/operando4);

}

public void seno(){

resutadoCientifico=Math.sin(operando3);

}

public void cosseno(){

resutadoCientifico=Math.cos(operando3);

}

public void tangente(){

resutadoCientifico=Math.tan(operando3);

}

public void logaritimo(){

resutadoCientifico=Math.log10(operando3);

}

public void neperiano(){

resutadoCientifico=Math.log(operando3);

}

public void fatorial (){

int x=1;

double numero = operando3;

for (double i=numero; i > 0; i--) {

x*=i;

}

resutadoCientifico=x;

}


}

Nenhum comentário:

Postar um comentário