e ai galera
eu tenho 2 operandos aleatorios, queria saber se nao da para gerar operadores aleatorios tambem, como faço isso ?
Eu não entendi a tua duvida, mas tu pode usar a classe Random e o metodo nextInt();
http://download.oracle.com/javase/6/docs/api/java/util/Random.html#nextInt%28%29
[quote=guisantogui]Eu não entendi a tua duvida, mas tu pode usar a classe Random e o metodo nextInt();
http://download.oracle.com/javase/6/docs/api/java/util/Random.html#nextInt%28%29[/quote]
por exemplo
quero gerar varios problemas matematicos, com diferentes operadores, questões com + - * /
como faço pra fazer com que esses operadores gerem aleatoriamente, exemplo:
[code]int operando1 = (Math.random() * 10);
int operando2 = (Math.random() * 10);
//minha duvida aqui
int resultado = operando1 (operador aleatório) operando2;[/code]
sera que usar arrays seria uma opção ? como poderia usa-los de forma correta ?
abs
Crie um array com os quatro operadores, gere um número de 0 a 3 e acesse o array na posição do número sorteado.
alguem poderia dar um exemplo de como aplicar isso no codigo acima ?
abs
Vc pode ter um array de objetos que representem as suas operacoes
interface Operacao {
int doIt(int a, int b);
}
class Soma implements Operacao {
public int doIt(int a, int b) { return a + b ; }
}
class Subtracao implements Operacao {
public int doIt(int a, int b) { return a - b ; }
}
public class Main {
public static void main(String[] args){
Operacao [] operacoes = {
new Soma(),
new Subtracao()
};
int a = (int) (10.0 * Math.random());
int b = (int) (10.0 * Math.random());
Operacao o = operacoes[(int)(2.0* Math.random()) % 2];
System.out.println("a=" + a + ", b=" + b + "o(a,b)="+o.doIt(a,b));
}
}
a maneira mais fácil, sem usar recursos difíceis.
int operando1 = (int) (Math.random()*10);
int operando2 = (int) (Math.random()*10);
int operardor = (int) (Math.random()*4);
int resultado;
switch(operador){
case 0: resultado = operando1 + operando2; break;
case 1: resultado = operando1 - operando2; break;
case 2: resultado = operando1 / operando2; break;
case 3: resultado = operando1 * operando2; break;
}
espero ter ajudado.