Olá pessoal, to tentando fazer só que eu to fazendo o trabalho que meu professor passou só que eu não consigo só a parte da operação, alguém poderia me ajudar ?
Escreva uma classe de nome Calcula cujo método main recebe 2 números (do tipo double) e uma operação (+, -, * ou /) que deve ser executada sobre os 2 números obtidos. Depois de obter essas 3 informações, exibir o resultado.
[code]import java.util.Scanner;
public class Calcula {
public static void main(String[] args) {
Scanner teclado = new Scanner (System.in);
Dados dados = new Dados();
System.out.println("Digite um valor: ");
dados.setValor1(teclado.nextDouble());
System.out.println("Digite um valor: ");
dados.setValor2(teclado.nextDouble());
System.out.println("Digite um sinal * || - || + || /: ");
dados.setOperacao(teclado.next(); //não sei se é por char ou por string :S
System.out.println(+dados.getResult());
}
}
[/code]
[code]public class Dados {
private double valor1, valor2, result;
private char operacao;
public Dados() {
}
public double getResult() {
if (operacao == '*') {
result = valor1 * valor2;
} else if (operacao == '/') {
result = valor1 / valor2;
} else if (operacao == '-') {
result = valor1 - valor2;
}
else if (operacao =='+'){
result=valor1+valor2;
}
return result;
}
public void setValor1(double valor1) {
this.valor1 = valor1;
}
public void setValor2(double valor2) {
this.valor2 = valor2;
}
public void setOperacao(char operacao) {
this.operacao = operacao;
}
}
[/code]
Obrigado a todos que ajudarem =D
Opa…lê a texto e depois pega o char com o método charAt da String
[code]String operacao = teclado.next();
dados.setOperacao(operacao.charAt(0));[/code]
[quote=ricardobocchi]Opa…lê a texto e depois pega o char com o método charAt da String
[code]String operacao = teclado.next();
dados.setOperacao(operacao.charAt(0));[/code][/quote]
Amigo é que eu não sei como eu faço para ler o texto, ele sendo recebido pelo teclado :S
Veja se isso te ajuda:
import java.util.Scanner;
public class Calculos {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
double num[] = new double[2];
for (int i = 0; i < num.length; i++) {
System.out.print("Informe o " + (i+1) +"º número: ");
num[i] = s.nextDouble();
}
System.out.print("Informe o operador (*,+,-,/): ");
char op = s.next().charAt(0);
switch(op){
case '+':
System.out.println("Resultado da soma: " + (num[0]+num[1]));
break;
case '-':
System.out.println("Resultado da sub: " + (num[0]-num[1]));
break;
case '*':
System.out.println("Resultado da mult: " + (num[0]*num[1]));
break;
case '/':
System.out.println("Resultado da div: " + (num[0]/num[1]));
break;
default:
System.out.println("Operador inválido!");
main(args);
}
}
Flw.
Como não? Você já está lendo… Só altera
dados.setOperacao(teclado.next(); //não sei se é por char ou por string :S
por
String operacao = teclado.next();
dados.setOperacao(operacao.charAt(0));
Que deve funcionar.
ricardobocchi e Master ABS Obrigado pela ajuda mesmo, agora entendi o comando que eu deveria usar, que era char op = s.next().charAt(0); e tbm tinha que usar o case, pq depois que o ricardo passou o comando os calculos davam zerados, obrigado a ajuda dos dois mesmos =)
To lendo aqui outro exercicio já fiz ele quase todo e não to conseguindo entender oque está pedindo, que seria
d) Método toString() para retornar uma String que é a concatenação dos atributos da classe.
Olha, deve ser pra sobreescrever o método toString da classe Dados
[code]public class Dados {
//Código
@Override
public String toString(){
return this.valor1 + this.operacao + this.valor2;
}
}[/code]
Ai você pode chamar
System.out.println("Operação: "+ dados);
Que vai aparecer a operação realizada… Na dúvida da uma olhada em http://www.guj.com.br/java/238421-sobre-o-metodo-tostring
abrass
No caso o toString() seria uma forma de eu evitar ficar escrevendo toda hora println(“certa msg”) tipo o desse exercicio ele pede id,nome,telfone ,renda e id
ai na classe principal é só eu jogar o cliente.toString(); que vai executar o comando ?
eu fiz da seguinte forma
[code]public String toString(){
return "ID: "+this.id +" Nome: "+ this.nome +" Telefone: "+fone +" Renda: "+renda;
} [/code]
Na verdade o método toString tem outra finalidade. Mesmo sobreescrevendo ele tu vai ter que continuar chamando o System.out.println. Acho que o professor apenas quer mostrar como podemos mudar o comportamento padrão do objeto, sobreescrevendo esse método, e mudando a visualização do objeto. Isso é muito útil quando trabalhamos com interface grafica, como popular um JComboBox por exemplo, alguns componentes chamam o método toString para visualizacao, como eles não conhecem outra maneira de os identificar visualmente. Então, sobreescrevendo esse método, podemos usa-los diretamente no componente, ao invés de usarmos strings.
abrass
Por favor, não destaque o seu tópico com informações óbvias como [AJUDA], [DÚVIDA], [SOCORRO] ou [URGENTE].
Deixe os marcadores para coisas importantes, como [RESOLVIDO], [TUTORIAL] ou o nome de alguma tecnologia específica.
Vini Godoy, desculpe, não ira mais acontecer !