Dúvida com Classes

5 respostas
manfred2k3

Bom Dia

Sou novo em Java, e estou com problemas com meu primeiro programa com classe.

[i]public class Operacoes {

double numero1;

double numero2;

String tipoOperacao;

public void trocarNum1( double numero1){

this.numero1 = numero1;}

public void trocarNum2( double numero2){

this.numero2 = numero2;}

public void tipoOperacao(String tipoOperacao){

this.tipoOperacao = tipoOperacao;}

public double VerificarOperacao(){

double total=0;

if (tipoOperacao == + ){

total = ((numero1 + numero2 ));}

if (tipoOperacao == “-” ){

total = ((numero1 - numero2 ));}

if (tipoOperacao == “*” ){

total = (numero1 * numero2 );}

if ((tipoOperacao == “/” )){

total = ((numero1 / numero2 ));}

return total;
}

}

import java.util.Scanner;

public class Calculadora {

public static void main(String[] args) {

Scanner entrada = new Scanner(System.in);

Operacoes oper = new Operacoes();

System.
out.println(“CALCULADORA******”);

System.
out.println(“Informe um Numero”);

double numero1 = entrada.nextDouble();

System.
out.println(“Tipo de Operacao”);

String tipoOperacao = entrada.nextLine();

System.
out.println("Informe outro Numero: ");

double numero2 = entrada.nextDouble();

oper.trocarNum1(numero1);

oper.trocarNum2(numero2);

double Calculo = oper.VerificarOperacao();

System.out.println(Calculo);

}

}[/i]

Quando é para pegar o tipo de operação , passa automático em branco.
Não consigo sair do lugar, preciso muito de ajuda mesmo.
Muito Obrigado

5 Respostas

furutani

Ola

Não se compara strings dessa forma

if (tipoOperacao == "+" ){

O correto é assim

if (tipoOperacao.equals("+") ){
leofernandesmo

Já tentou em vez de :

String tipoOperacao = entrada.nextLine();

usar

String tipoOperacao = entrada.next();

???
Outra coisa. Ao postar código a vizualização fica melhor se vc colocar o código entre as tags Code.
E por padrão nomei todos os seus métodos começando com letra em caixa baixa.

verificarOperacao();

Se não resolver o problema fala aí…

manfred2k3

Opa
Muito Obrigado
Tenho uma lista de exercicios para fazer.
Diminui também o código

import java.util.Scanner;

public class Calculadora {

public static void main(String[] args) {

Scanner entrada = new Scanner(System.in);

Operacoes oper = new Operacoes();

System.out.println(“CALCULADORA******”);

System.
out.println(“Informe um Numero”);

double numero1 = entrada.nextDouble();

System.
out.println(“Tipo de Operacao”);

String tipoOperacaoEntrada = entrada.next();

System.out.println("Informe outro Numero: ");

double numero2 = entrada.nextDouble();

double Calculo = oper.VerificarOperacao(tipoOperacaoEntrada, numero1, numero2);

System.out.println(Calculo);

}

}

è sempre necessário aquele comando .this?? ou pode fazer direto como fiz?
Obrigado

manfred2k3

public class Operacoes {

double total;

public double VerificarOperacao(String tipoOperacaoEntrada,double numero1,double numero2){

if (tipoOperacaoEntrada.equals("+")){

total = (numero1+numero2 );}

if (tipoOperacaoEntrada.equals("-") ){

total = ((numero1 - numero2 ));}

if (tipoOperacaoEntrada.equals("*")){

total = (numero1 * numero2 );}

if (tipoOperacaoEntrada.equals("/")){

total = ((numero1 / numero2 ));}

return total;
}

}

Essa é a classe modificada

Ratao

manfred2k3:

public class Operacoes {

double total;

public double VerificarOperacao(String tipoOperacaoEntrada,double numero1,double numero2){

if (tipoOperacaoEntrada.equals("+")){

total = (numero1+numero2 );}

if (tipoOperacaoEntrada.equals("-") ){

total = ((numero1 - numero2 ));}

if (tipoOperacaoEntrada.equals("*")){

total = (numero1 * numero2 );}

if (tipoOperacaoEntrada.equals("/")){

total = ((numero1 / numero2 ));}

return total;
}

}

Essa é a classe modificada

Posta com as formatações, fica melhor para ver :slight_smile:
http://www.guj.com.br/posts/list/50115.java

Abraço!

Criado 10 de setembro de 2007
Ultima resposta 10 de set. de 2007
Respostas 5
Participantes 4