[Ajuda] Gerar função Randomica

Olá sou novo em java e gostaria de uma ajuda em um problema.

//Vetor com os numeros
String[] num = {1",“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”};
//Vetor contendo os operadores
String[] op = {"+","-","*","/"};

Tenho esses dois vetores que cobinados deve gerar expressões numericas aleatórias tipo:

1+2
2*5
7/9

Mas não sei como fazer alguém pode me ajudar?

usa a funcao Math.random() ela te retorna numeros decimais entre [0,1[ (o 1 ta fora)

Ai que ta o problema ele teria que inserir em string.

String Conta=num[(int)Math.random()*10]+
op[(int)Math.random()*5]+
num[(int)Math.random()*10];

é isso entendeu?

Putss entendi sim…

Mas como eu chamo isso na tela denovo?
Desculpe as perguntas “bobas” mas é dificil quando se ta começando.

como assim chamar na tela de novo? Não entendi?

Preciso passar essa expressão concatenada ou seja pegar num1 99, +, num2 100
99+100

o código que ti passei a operação já está concatenada na String Conta!

//Vetor contendo os numeros
String[] num = {“0”,“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”};
//Vetor contendo os operadores
String[] op = {"+","-","*","/"};

    String Conta=num[(int)Math.random()*10]+
    op[(int)Math.random()*5]+
    num[(int)Math.random()*10];

    System.out.println(Conta);
    System.out.println(op);
    System.out.println(num);

============
Retorna:

0+0
[Ljava.lang.String;@9931f5
[Ljava.lang.String;@19ee1ac

faz assim:

class numeroaleatorio
{

public static void main(String args[])
{
//Vetor contendo os numeros
String[] num = {“0”,“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”};
//Vetor contendo os operadores
String[] op = {"+","-","*","/"};

String Conta=num[(int)(Math.random()*10)]+op[(int)(Math.random()*5)]+num[(int)(Math.random()*10)];
System.out.println(Conta);
}

}
se voce mostrar um vetor na tela, ou seja, ou op ou num sem colocar os indices dos vetores vai mostrar esse valor estranho ai

opaaa… vlw deu certo agora.

Obrigado mesmo.

qualquer coisa estou por ai

Math.random() = sux!!

use

Random random = new Random(); int arg1 = random.nextInt(10); //número randomico entre 0 e 9 int arg2 = random.nextInt(10); //número randomico entre 0 e 9 int oper = random.nextInt(4); //número randomico entre 0 e 3

conhece o operador switch ??? … é a forma melhor, para vc fazer a conta…

vou responder esse seu exercicio, sem suas matrizes ^^ … ai vc pensa como responde-lo usando as matrizes… boa sorte!

[code]import java.util.Random;

public class ContasRandomicas {
public static void main(String[] args) {
randomiza();
randomiza();
}
public static String fazConta(int a, int b, int operador) {
switch(operador) { // vai imprimir
case 0: return a + " + " + b + " = " + (a + b); // a + b = conta
case 1: return a + " - " + b + " = " + (a - b); // a - b = conta
case 2: return a + " * " + b + " = " + (a * b); // a * b = conta
case 3: return a + " / " + b + " = " + (a / b); // a / b = conta
default: return “operador inválido”;
}
}

private static Random random = new Random();
public static void randomiza() {
    int arg1 = random.nextInt(10);
    int arg2 = random.nextInt(10);
    int oper = random.nextInt(4);
    System.out.println( fazConta(arg1, arg2, oper) );
}

}[/code]

EDIT.:

Ps.: se vc tiver o azar, do “arg2” ser 0, e do “oper” ser 3, então vc terá uma ArithmeticException, pois a conta será … N / 0 … lançando a exceção de impossivel dividir por 0

“Exception in thread “main” java.lang.ArithmeticException: / by zero”

hehe funcionou das duas formas.

Mas não vai acontecer o erro do 0 porque eu não vou por o zero rsrs na realidade é só para um teste. Obrigado ai gente.

ei nepomuceno no código que ti passei em vez do Math.random()*5 coloque Math.random()*4!

Pronto, mas me diz uma coisa qual a diferença?

Se puderem mandar para o meu email os seus arquivos ia ser bom rs.

vinicius1999@uol.com.br

é porque Math.random()*5 gera numero aleatorios entre 0 e 4.
o seu vetor é 0 a 3 entao ia dar erro.

Math.random()*4 gera de 0 a 3.

entendeu?

que arquivos???

entendi…

o arquivo do aplicativo java que tu gerou para me ajudar.

control c control v:
class numeroaleatorio
{

public static void main(String args[])
{
//Vetor contendo os numeros
String[] num = {“0”,“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”};
//Vetor contendo os operadores
String[] op = {"+","-","*","/"};

String Conta=num[(int)(Math.random()*10)]+op[(int)(Math.random()*5)]+num[(int)(Math.random()*10)];
System.out.println(Conta);
System.out.println(op);
System.out.println(num);

}

}