Criei um método somar e nele contem a somatória de dois números.
Eu não coloquei tipo de retorno e coloquei syso dentro dele.
Se eu fosse usar o resultado como retorno como eu colocaria no método main para exibir?
packagebr.com.calculadora.modelo.calc;importjavax.swing.JOptionPane;publicclassExecutar{publicstaticvoidmain(String[]args){finalStringsomatorio="+";doubleprimeiroValor=Integer.parseInt(JOptionPane.showInputDialog("Digite o primeiro valor"));doublesegundoValor=Integer.parseInt(JOptionPane.showInputDialog("Digite o segundo valor"));Stringoperador=JOptionPane.showInputDialog("Digite o tipo de operador");if(operador.equals(somatorio)){Calc.Somar(primeiroValor,segundoValor);}}}
eu não sabia que quando você instância e cria um objeto vc já poderia puxar o método que esta dentro da classe diretamente pra dentro do objeto…
ali no seu exemplo já vem com o return ?
igomes1 like
Exatamente, a única diferença que vc tá acostumado é guardar em uma variável local e depois chamar o método pela mesma.
outra dúvida agora sobre o loop que eu to tentando fazer usando uma variavel boleana
publicclassExecutar{publicstaticvoidmain(String[]args)throwsExcecaoCalculadora{booleanFLAG=false;while(!FLAG){try{doubleprimeiroValor=Integer.parseInt(JOptionPane.showInputDialog("Digite o primeiro valor"));doublesegundoValor=Integer.parseInt(JOptionPane.showInputDialog("Digite o segundo valor"));Stringoperador=JOptionPane.showInputDialog("Digite o tipo de operador");switch(operador){case"+":FLAG=true;System.out.println(Calc.somar(primeiroValor,segundoValor));break;case"-":FLAG=true;System.out.println(Calc.subtrair(primeiroValor,segundoValor));break;case"/":FLAG=true;System.out.println(Calc.dividir(primeiroValor,segundoValor));break;case"*":FLAG=true;System.out.println(Calc.multiplicar(primeiroValor,segundoValor));break;}}catch(Exceptione){FLAG=false;thrownewExcecaoCalculadora("Inclusao de Numeros -"+e.getMessage());}}}}
Solucao aceita
Dragoon1 like
Primeiramente a sua classe está errada no sentido dos sinais e eu não usaria static nos métodos (só se for uma obrigação de algum código pedido em faculdade), então:
Entendi entao vc instanciaria o objeto e usaria o metodo através do objeto criado, certo?
Mas qual o motivo de criar o objeto em vez de usar static mesmo?
qual a vantagem?
quero agradecer também pelo suporte que vc tem me dado.
Dragoon
Isso, eu utilizaria o recurso mediante estância da classe, ou seja, faria tudo no objeto criado.
O static nesse caso não daria para passar como objeto na classe carrinho por exemplo, e outra coisa quando utilizamos um classe de lista de objeto ele já a parte da contagem e somas e diversas coisas relacionado a lista de objetos. Static tem seu próposito sim, mas, em casos especificos!
brunoasm25
por exemplo se eu crio um objeto do tipo list usuario = new Arraylist();
dentro de usuario eu crio um objeto do tipo arraylist e ai eu consigo por varios objetos dentro dele?
usando um loop for e fazer todo o corpo pra criar e claro.
Dragoon
Sinceramente a sua pergunta inicial saiu do escopo com essa!
Faça uma nova pergunta e feche essa como conclusão, inclusive eu não entendi a sua pergunta!