Elabore uma classe em que o usuário fornece dois números e uma letra correspondente a operação desejada de acordo com a tabela:
-------------------------Letra | Operação
-------------------------
A | Adição PS: Procurei fazer de forma didática e de
B | Subtração 2 maneiras: uma com funções na mesma
C | Multiplicação classe outra em classes diferentes.
D | Divisão
-------------------------
(Questão 3 do livro Java 7 de Sergio Furgeri - página 64)
Código Java
//Autor: Thiago Campos
//Data: 20.09.2012
package br.com.livroJava7.pag64; //pertence a este pacote
/**
*
* @author Thiago
*/
import javax.swing.JOptionPane; //importa a biblioteca
public class Operacoes {
public static void main(String[] args){
//variaveis locais
double num1;
double num2;
double result = 0; //resultado da operacao
char opcao='x';
String opcaoStr; //guada a operação
String numeros = ""; //valores digitados
String operacao = ""; //operação escolhida
//entrada de dados
num1 = Integer.parseInt(JOptionPane.showInputDialog("Informe o primeiro numero:"));
num2 = Integer.parseInt(JOptionPane.showInputDialog("Informe o segundo numero:"));
opcaoStr = JOptionPane.showInputDialog("Informe a operação desejada:");
opcao = opcaoStr.charAt(0);
//processo decisório
switch (opcao) {
case 'A':
result = adicao(num1, num2);
opcaoStr = "Adição";
break;
case 'B':
result = subtrair(num1, num2);
opcaoStr = "Subtração";
break;
case 'C':
result = multiplicar(num1, num2);
opcaoStr = "Multiplicação";
break;
case 'D':
opcaoStr = "Divisão";
if (num2 == 0){
JOptionPane.showMessageDialog(null, "Opção invalida, o divisor não pode ser 0!");
}else{
result = dividir(num1, num2);
}
break;
default:
JOptionPane.showMessageDialog(null, "Opção invalida!");
opcaoStr = "Invalida";
} //fim do switch
//saida dos dados
JOptionPane.showMessageDialog(null, "RESULTADO DA OPERAÇÃO"
+ "\nOs valores digitados foram: " + num1 + " e " + num2
+ "\nOperação escolhida: " + opcaoStr
+ "\nResultado da operação é: " + result);
} //fim do main
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Inicio da função adição
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
public static double adicao(double n1, double n2){
//variavel
double s = 0; //resultado da soma
s = n1 + n2;
return s;
} //fim da função Adicao
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Inicio da função subtração
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
public static double subtrair(double n1, double n2){
//variavel
double sub = 0; //resultado da subt
sub = n1 - n2;
return sub;
} //fim da função Adicao
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Inicio da função multiplicar
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
public static double multiplicar(double n1, double n2){
//variavel
double m = 0; //resultado da multiplicação
m = n1 * n2;
return m;
} //fim da função Adicao
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Inicio da função dividir
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
public static double dividir(double n1, double n2){
//variavel
double d = 0; //resultado da divisão
d = n1 / n2;
return d;
} //fim da função Adicao
} //fim da classe operações
_______________________________________________________________
2ª OPÇÃO : CLASSES DISTINTAS PARA O MESMO PROBLEMA
_______________________________________________________________
Código Java
//Autor: Thiago Campos
//Data: 20.09.2012
package br.com.livroJava7.pag64; //pertence a este pacote
/**
*
* @author Thiago
*/
import javax.swing.JOptionPane; //importa a biblioteca
public class Operacao2 {
public static void main(String[] args){
//variaveis locais
OperacaoClasse valor = new OperacaoClasse(); //instanciando objeto
double num1;
double num2;
double result = 0; //resultado da operacao
char opcao='x';
String opcaoStr; //guada a operação
String numeros = ""; //valores digitados
String operacao = ""; //operação escolhida
//entrada de dados
num1 = Integer.parseInt(JOptionPane.showInputDialog("Informe o primeiro numero:"));
num2 = Integer.parseInt(JOptionPane.showInputDialog("Informe o segundo numero:"));
opcaoStr = JOptionPane.showInputDialog("Informe a operação desejada:");
opcao = opcaoStr.charAt(0);
//processo decisório
switch (opcao) {
case 'A':
valor.setAdicao(num1, num2); //envio des variaveis
result = valor.getAdicao(); //retorno do resultado
opcaoStr = "Adição";
break;
case 'B':
valor.setSubtrair(num1, num2); //envio des variaveis
result = valor.getSubtrair(); //retorno do resultado
opcaoStr = "Subtração";
break;
case 'C':
valor.setMultiplicar(num1, num2); //envio des variaveis
result = valor.getMultiplicar(); //retorno do resultado
opcaoStr = "Multiplicação";
break;
case 'D':
valor.setDividir(num1, num2); //envio des variaveis
opcaoStr = "Divisão";
if (num2 == 0){
JOptionPane.showMessageDialog(null, "Opção invalida, o divisor não pode ser 0!");
}else{
result = valor.getDividir(); //retorno do resultado
}
break;
default:
JOptionPane.showMessageDialog(null, "Opção invalida!");
opcaoStr = "Invalida";
} //fim do switch
//saida dos dados
JOptionPane.showMessageDialog(null, "RESULTADO DA OPERAÇÃO"
+ "\nOs valores digitados foram: " + num1 + " e " + num2
+ "\nOperação escolhida: " + opcaoStr
+ "\nResultado da operação é: " + result);
} //fim do main
} //fim da classe operaçao2
_______________________________________________________________
CLASSE DOS METODOS
_______________________________________________________________
package br.com.livroJava7.pag64; //pertence a este pacote
/**
*
* @author Thiago
*/
public class OperacaoClasse {
//variaveis
private double res = 0;
//set e get
public void setAdicao(double n1, double n2){
res = n1 + n2;
}
public double getAdicao(){
return res;
}
public void setSubtrair(double n1, double n2){
res = n1 - n2;
}
public double getSubtrair(){
return res;
}
public void setMultiplicar(double n1, double n2){
res = n1 * n2;
}
public double getMultiplicar(){
return res;
}
public void setDividir(double n1, double n2){
res = n1 / n2;
}
public double getDividir(){
return res;
}
} //fim da classe OperacaoClasse
Nenhum comentário:
Postar um comentário