[RESOLVIDO]Trabalhos da faculdade, introdução ao JAVA OO

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 !