help with my blackjack program - Programmers Heaven

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

help with my blackjack program

bw125bw125 Posts: 10Member
i have two questions

1: My program just keeps on using the same card value throughtout the whole program. Each of my cards are determined by a random number. The problem is my random number keeps on staying the same for every game which is held together by a loop that keeps on interating until the user runs of of money or wants to quit. Here is my random number method-

public int getRanNum(){
RanNum = (int)((13 - 2 + 2) * Math.random() + 2);
return(RanNum);
}

2. My 2nd problem is my betting. When the user inputs a bet greater than the current amount of money, it goes to the checkBet method which has the user input a new bet. However it just uses the first input of bet in my program. Here is the code-

[b]from main method...[/b]

System.out.println("How much of your " + money.format(Cash) + " do you want to bet ");
bet = input.nextInt();
play.checkBet(bet, Cash);


[b]from my class called card....[/b]

public void checkBet(int bet, int Cash){
if(bet > Cash){
Scanner input = new Scanner(System.in);
System.out.println("Not enough money enter a lower amount ");
bet = input.nextInt();
}
}

Comments

  • zibadianzibadian Posts: 6,349Member
    : i have two questions
    :
    : 1: My program just keeps on using the same card value throughtout
    : the whole program. Each of my cards are determined by a random
    : number. The problem is my random number keeps on staying the same
    : for every game which is held together by a loop that keeps on
    : interating until the user runs of of money or wants to quit. Here is
    : my random number method-
    :
    : public int getRanNum(){
    : RanNum = (int)((13 - 2 + 2) * Math.random() + 2);
    : return(RanNum);
    : }
    :
    : 2. My 2nd problem is my betting. When the user inputs a bet greater
    : than the current amount of money, it goes to the checkBet method
    : which has the user input a new bet. However it just uses the first
    : input of bet in my program. Here is the code-
    :
    : [b]from main method...[/b]
    :
    : System.out.println("How much of your " + money.format(Cash) + " do
    : you want to bet ");
    : bet = input.nextInt();
    : play.checkBet(bet, Cash);
    :
    :
    : [b]from my class called card....[/b]
    :
    : public void checkBet(int bet, int Cash){
    : if(bet > Cash){
    : Scanner input = new Scanner(System.in);
    : System.out.println("Not enough money enter a lower
    : amount ");
    : bet = input.nextInt();
    : }
    : }
    :
    1) I've tested your random generator with this line several times:
    [code]
    for (int i = 0; i < 10; i++)
    System.out.print((int)((13 - 2 + 2) * Math.random() + 2)+", ");
    [/code]
    and never got the same value for all 10. Here's the result of one of those runs: 5, 14, 4, 7, 8, 9, 13, 6, 3, 7,

    2) In Java all method parameters are non-variable. Thus if the value of a parameter is changed within a method, it is never reflected back to the calling method. The solution is to make your method a function, which returns the bet value.

    Note: I've removed the second thread you created since it was the same as this one.
  • bw125bw125 Posts: 10Member
    : : i have two questions
    : :
    : : 1: My program just keeps on using the same card value throughtout
    : : the whole program. Each of my cards are determined by a random
    : : number. The problem is my random number keeps on staying the same
    : : for every game which is held together by a loop that keeps on
    : : interating until the user runs of of money or wants to quit. Here is
    : : my random number method-
    : :
    : : public int getRanNum(){
    : : RanNum = (int)((13 - 2 + 2) * Math.random() + 2);
    : : return(RanNum);
    : : }
    : :
    : : 2. My 2nd problem is my betting. When the user inputs a bet greater
    : : than the current amount of money, it goes to the checkBet method
    : : which has the user input a new bet. However it just uses the first
    : : input of bet in my program. Here is the code-
    : :
    : : [b]from main method...[/b]
    : :
    : : System.out.println("How much of your " + money.format(Cash) + " do
    : : you want to bet ");
    : : bet = input.nextInt();
    : : play.checkBet(bet, Cash);
    : :
    : :
    : : [b]from my class called card....[/b]
    : :
    : : public void checkBet(int bet, int Cash){
    : : if(bet > Cash){
    : : Scanner input = new Scanner(System.in);
    : : System.out.println("Not enough money enter a lower
    : : amount ");
    : : bet = input.nextInt();
    : : }
    : : }
    : :
    : 1) I've tested your random generator with this line several times:
    : [code]:
    : for (int i = 0; i < 10; i++)
    : System.out.print((int)((13 - 2 + 2) * Math.random() + 2)+", ");
    : [/code]:
    : and never got the same value for all 10. Here's the result of one of
    : those runs: 5, 14, 4, 7, 8, 9, 13, 6, 3, 7,
    :
    : 2) In Java all method parameters are non-variable. Thus if the value
    : of a parameter is changed within a method, it is never reflected
    : back to the calling method. The solution is to make your method a
    : function, which returns the bet value.
    :
    : Note: I've removed the second thread you created since it was the
    : same as this one.

    Thank you very much. Ps. if anyone can find any individual .gif or .jpeg pictures of all the individual cards please contect me
  • zibadianzibadian Posts: 6,349Member
    : : : i have two questions
    : : :
    : : : 1: My program just keeps on using the same card value throughtout
    : : : the whole program. Each of my cards are determined by a random
    : : : number. The problem is my random number keeps on staying the same
    : : : for every game which is held together by a loop that keeps on
    : : : interating until the user runs of of money or wants to quit. Here is
    : : : my random number method-
    : : :
    : : : public int getRanNum(){
    : : : RanNum = (int)((13 - 2 + 2) * Math.random() + 2);
    : : : return(RanNum);
    : : : }
    : : :
    : : : 2. My 2nd problem is my betting. When the user inputs a bet greater
    : : : than the current amount of money, it goes to the checkBet method
    : : : which has the user input a new bet. However it just uses the first
    : : : input of bet in my program. Here is the code-
    : : :
    : : : [b]from main method...[/b]
    : : :
    : : : System.out.println("How much of your " + money.format(Cash) + " do
    : : : you want to bet ");
    : : : bet = input.nextInt();
    : : : play.checkBet(bet, Cash);
    : : :
    : : :
    : : : [b]from my class called card....[/b]
    : : :
    : : : public void checkBet(int bet, int Cash){
    : : : if(bet > Cash){
    : : : Scanner input = new Scanner(System.in);
    : : : System.out.println("Not enough money enter a lower
    : : : amount ");
    : : : bet = input.nextInt();
    : : : }
    : : : }
    : : :
    : : 1) I've tested your random generator with this line several times:
    : : [code]: :
    : : for (int i = 0; i < 10; i++)
    : : System.out.print((int)((13 - 2 + 2) * Math.random() + 2)+", ");
    : : [/code]: :
    : : and never got the same value for all 10. Here's the result of one of
    : : those runs: 5, 14, 4, 7, 8, 9, 13, 6, 3, 7,
    : :
    : : 2) In Java all method parameters are non-variable. Thus if the value
    : : of a parameter is changed within a method, it is never reflected
    : : back to the calling method. The solution is to make your method a
    : : function, which returns the bet value.
    : :
    : : Note: I've removed the second thread you created since it was the
    : : same as this one.
    :
    : Thank you very much. Ps. if anyone can find any individual .gif or
    : .jpeg pictures of all the individual cards please contect me
    :
    Why don't you make them yourself? It isn't as hard as it sounds. Nearly every font has the card-suit symbols included: ???? (I hope these 4 will appear correctly). You can easily type them into paint (or another drwing program) and add a number/letter to it to produce an image.
    Alternatively you could dynamically let your program draw them onto a Graphics object to produce the images.
Sign In or Register to comment.