Para testar um pouco dos meu ainda pouco conhecimento em java, resovi criar essa calculadora, gostaria de saber se minha “logica” esta bem orietanda a objetos ou não, eu acho q poderia usar interfaces na implementação das operações, mas nao soube como fazer em um primeiro momento, se alguem puder opinar, agradeceria.
package br.com.operacoes;
import java.util.Scanner;
public class Principal {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int escolha;
System.out.println("Entre com a Operação Desejada.");
System.out.println(" 1 para Adição \n 2 para Subtração \n 3 para Multiplicação \n 4 para divisão");
escolha = input.nextInt();
switch (escolha) {
case 1:
Adicao adicao = new Adicao();
adicao.adiciona();
break;
case 2:
Subtracao subtracao = new Subtracao();
subtracao.subtrai();
break;
case 3:
Multiplicacao multiplicacao = new Multiplicacao();
multiplicacao.multiplica();
break;
case 4:
Divisao divisao = new Divisao();
divisao.divide();
}
}
}
Operações
import java.util.Scanner;
public class Adicao {
public void adiciona() {
Scanner input = new Scanner(System.in);
long number1;
long number2;
long result;
System.out.println("Digite um primeiro Numero para Adição \n");
number1 = input.nextLong();
System.out.println("Digite um segundo Numero Para a Adição \n ");
number2 = input.nextLong();
result = number1 + number2;
System.out.println("O resultado é " + result);
/* */
System.out.println("Digite 0 para sair");
int choice = input.nextInt();
if (choice == 0) {
System.exit(0);
} else {
System.out.println("");
}
}
}
______________________________________________
import java.util.Scanner;
public class Multiplicacao {
public void multiplica() {
Scanner input = new Scanner(System.in);
long number1;
long number2;
long result;
System.out.println("Digite um primeiro Numero para Multiplicacao \n ");
number1 = input.nextLong();
System.out.println("Digite um segundo Numero Para a Multiplicação \n ");
number2 = input.nextLong();
result = number1 * number2;
System.out.println("O resultado é " + result);
/* */
System.out.println("Digite 0 para sair");
int choice = input.nextInt();
if (choice == 0) {
System.exit(0);
} else {
System.out.println("");
}
}
}
___________________________________
package br.com.operacoes;
import java.util.Scanner;
public class Divisao {
public void divide() {
Scanner input = new Scanner(System.in);
long number1;
long number2;
long result;
System.out.println("Digite um primeiro Numero para Divisão \n ");
number1 = input.nextLong();
System.out.println("Digite um segundo Numero Para a Divisão \n ");
number2 = input.nextLong();
if(number2 == 0) {
System.out.println("Não divida por 0");
System.exit(0);
}
result = number1 / number2;
System.out.println("O resultado é " + result);
/* */
System.out.println("Digite 0 para sair");
int choice = input.nextInt();
if (choice == 0) {
System.exit(0);
} else {
System.out.println("");
}
}
}
