utilizando el método de math.random para crear método dados

Omer Faruk chorros:

Yo, básicamente, creó un programa para un juego de apuesta y que quería utilizar el método math.random para obtener posibles valores nominales.

mi pregunta es que es siempre math.random mismo valor, de modo que no puedo usar repetidamente.

¿Cómo puedo usar el método math.random repetidamente. No quiero conseguir mismo valor para mis dados;

import java.util.Scanner;
public class Lab06d
{
  public static double money(double userMoney, int option, double bet )
  {
    //variable
    int dice1;
    int dice2;
    //codes
    dice1 = (int) Math.random() * 6 + 1;
    dice2 = (int) Math.random() * 6 + 1;
    System.out.println("dice sum: " + dice1 + dice2 );
    if(option == 1)
    {
      if((dice1 + dice2) % 2 == 1)
        userMoney = userMoney + ( bet / 2); 
      else
        userMoney = userMoney - ( bet / 4);
    }
    if(option == 2)
    {
      if((dice1 + dice2) % 2 == 1)
        userMoney = userMoney - ( bet / 4); 
      else
        userMoney = userMoney + ( bet / 2);
    }
    if(option == 3)
    {
      if((dice1 == 1 && dice1 == 1) || (dice1 == 6 && dice1 == 6))
        userMoney = userMoney + ( bet); 
      else
        userMoney = userMoney - ( bet);
    }
    return userMoney;
  }
  public static void main(String[] args)
  {
    // variables
    double userMoney;
    int option;
    double bet;
    //codes
    Scanner scan = new Scanner (System.in);


    System.out.println("enter your money: ");
    userMoney = scan.nextInt();
    System.out.println("enter your option 1 for odd 2 for even 3 for extreme: ");
    option = scan.nextInt();
    System.out.println("enter your bet: ");
    bet = scan.nextInt(); 
    System.out.println(money(userMoney, option, bet));
    userMoney = money(userMoney, option, bet);  
  }
}
Norintor:
(int) Math.random() * 6 + 1

significa lo mismo que

((int) Math.random())    *    6   +   1. 

Se intenta por primera redondeando hacia abajo, a continuación, multiplicando y sumando.
Como Math.random () devuelve como el número 0 <= x <1, siempre es fundido a 0. Obsérvese que (int) siempre redondea hacia abajo, por lo que (int) 3,999 se convertiría en 3 por ejemplo, así como (int) - 3.9 se convertiría en -4.

Añadir llaves como esto:

 (int)     (Math.random() * 6 + 1)

También se puede envolver en una función como esta:

static int throwDice() {
    return (int) (Math.random() * 6 + 1);
}

Los operadores en Java tienen una específica preferencia a ellos, como la multiplicación viene antes de la adición en matemáticas, a menos que utilice aparatos de ortodoncia. Usted puede mirar para arriba aquí . En caso de duda (o aclarar), el uso de aparatos de ortodoncia.

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=404357&siteId=1
Recomendado
Clasificación