Alguém poderia me ajudar a resolver este probleminha. Já estou entendo alguns conceitos, mas nesse caso fiquei meio enroscado porque o programa tem que retornar o resultado das quatro operações. Como vou inserir quatro variável em return?
Crie uma aplicação em java com um método que implemente as 4 operações aritméticas passadas por parâmetro e aplique em 2 números e retorne o resultado.
importjava.util.*;publicclassN2{publicstaticdoubleoperar(doublea,doubleb){doublesoma=a+b;doublesub=a-b;doublemult=a*b;doubledivi=a/b;// Implementar as operações e retorna. Só que no retorno // tem que apresentar o resultado de todas as operações.return(somasub);}publicstaticvoidmain(String[]args){Scannernum=newScanner(System.in);System.out.print("Digite dois números.");doublen1=num.nextDouble();doublen2=num.nextDouble();System.out.println(operar(n1,n2));}}
paulomoreira1981
A questão pede um método com retorno. O retorno tem que apresentar o resultado das quatros operações.
Eu não postei a solução para o seu problema.
Eu postei um exemplo do uso do seu método com diferentes operações e argumentos.
Um método em Java só pode retornar um valor, portanto para você poder trabalhar com as 4 operações, terá de chamar o método 4 vezes.
paulomoreira1981
A solução tem que ser dentro dessa lógica, porque é assim que o conceito de método esta sendo abordado no meu curso:
paulomoreira1981:
importjava.util.*;publicclassN2{publicstaticdoubleoperar(doublea,doubleb){doublesoma=a+b;doublesub=a-b;doublemult=a*b;doubledivi=a/b;// Implementar as operações e retorna. Só que no retorno // tem que apresentar o resultado de todas as operações.return(somasub);}publicstaticvoidmain(String[]args){Scannernum=newScanner(System.in);System.out.print("Digite dois números.");doublen1=num.nextDouble();doublen2=num.nextDouble();System.out.println(operar(n1,n2));}}
E
entanglement
Você está tendo um pequeno problema com interpretação de texto.
O texto é este:
E minha interpretação é esta:
Crie uma aplicação em Java - é o que você está tentando fazer…
Um método que implemente as 4 operações aritméticas passadas por parâmetro - ou seja, um dos parâmetros é a operação aritmética que deve ser executada, e os outros 2 parâmetros são os números em que a operação deve ser executada…
E retorne o resultado - o método retorna apenas um resultado, não 4. Para você ter os 4 resultados possíveis, terá de chamar o método 4 vezes, uma para cada operação diferente a ser executada.
E
entanglement
Como em Java (diferentemente de Lisp ou Scala) você não pode passar um operador como parâmetro, você terá de usar uma outra alternativa. Uma delas é passar um caracter que é o operador desejado (como ‘+’, ‘-’, ‘*’ ou ‘/’).
Outra delas é fazer como lhe sugeriram e estabelecer que soma = 1, subtração = 2, etc. (você pode usar constantes, em vez de usar esses números horríveis).
Existem linguagens (como Lisp) onde um método pode retornar 4 resultados distintos em uma “tupla”; mas Java não é Lisp. Você pode retornar apenas um resultado de cada vez, ou então criar um array, contendo esses resultados, e retornar esse array. OK?
paulomoreira1981
Irmão, mto obrigado pela atenção(na verdade foi uma aula :), vou tentar seguir sua orientação e postar o resultado.
Caso eu tenha novamente interpretado errado, por favor me corrija.
Fica com Deus, irmão.
ViniGodoy
Por favor, ao postar tópicos, não deixe TODAS AS LETRAS DO TÍTULO MAIÚSCULAS. Além disso, procure ler as regras do fórum:
paulomoreira1981
CONFESSO QUE NÃO CONSEGUI FAZER!
ESTOU COMEÇANDO RAPAZIADA.
paulomoreira1981
ViniGodoy
Por favor me dá uma luz nesse problema!
Obrigado.
ViniGodoy
paulomoreira1981:
ViniGodoy
Por favor me dá uma luz nesse problema!
Obrigado.
A dica que eu te dou é usar o equipamento que você tem entre as orelhas.
Revise a matéria e escreva seu programa. Ninguém vai fazer isso por você.
E explicações detalhadas você já teve.
ViniGodoy
PS: Você não pode retornar uma String com todos os resultados concatenados?
returnString.sprintf("O resultado foi soma: %.2f, subtração: %.2f.%n",soma,sub);
paulomoreira1981
:idea:
sergiotaborda
entanglement:
Como em Java (diferentemente de Lisp ou Scala) você não pode passar um operador como parâmetro, (…)
Operadores são objetos que implementam o padrão Functor ( Function Object). E objetos o java sempre teve
O que o java não tem ainda (estamos na versão 7) é lambdas, que é uma forma sintaticamente mais simples de escrever functors. Mas lambdas não são closures (o scala e o groovy têm closures, não apenas lambdas) o que significa que o java 8 não vai mudar muito o que vc pode fazer, vai mudar o como vc pdoe fazer.
E
entanglement
sergiotaborda:
entanglement:
Como em Java (diferentemente de Lisp ou Scala) você não pode passar um operador como parâmetro, (…)
Tecnicamente vc pode.
Taborda-sensei, o cara mal e mal sabe o que é um switch, e estou tendo dificuldade de meter na cabeça dele a interpretação correta do problema. Não dê mais um nó na cabeça dele
De qualquer forma, vou dar mais uma colher de chá para o Paulo. Vou postar qual é o cabeçalho do método, e quero ver se ele consegue preencher as lacunas.
Como em Java (diferentemente de Lisp ou Scala) você não pode passar um operador como parâmetro, (…)
Tecnicamente vc pode.
Taborda-sensei, o cara mal e mal sabe o que é um switch, e estou tendo dificuldade de meter na cabeça dele a interpretação correta do problema. Não dê mais um nó na cabeça dele
tudo muito certo com isso. eu confesso que não tenho paciencia para esse nível de educação a que vc se propôs e parabens por isso.
O ponto é apenas que durante a sua conversa vc fez uma afirmação universal que não é verdadeira e pode ser que alguém algum dia olhe isso e acredite.
Longe do meu propósito me intrometer na sua explicação e dos outros que estão tentando ajudar.
(Só como nota, e é apenas um comentário: Não é porque a pessoa não sabe o básico que o seu código tem que usar só primitivos. Isso não é OO e pode levar a pessoa a tentar isso depois , em outro cenário, o que seria contraprodutivo do ponto de vista do ensino. Por outro lado, eu não sou professor não sei nada sobre didática.)
E
entanglement
@Taborda-san,
Também não sou professor (só lhe chamei de “sensei” porque isso se diz não somente de professores, mas também de pessoas que tenham alguma maestria na sua profissão - por exemplo, um artista qualquer pode ser chamado de “sensei” apesar de nunca ter dado aulas.)
Só não quis ser muito rigoroso tecnicamente, mais ou menos quando você está aprendendo a andar de bicicleta e precisa ainda das rodinhas - não vou dizer que dá para andar de bicicleta sobre a corda-bamba…
Um jeito de o Paulo resolver o problema do jeito que ele quer (ou seja, retornando os quatro resultados possíveis) é usar um array, mas provavelmente ele também não viu arrays ainda.