• 10-16-2011, 06:59 PM
grcarr77
When I run the program below it matches all digits in any order, but when I test it to recognize one digit and pay out 1,000 it says pay out 3,000 on certain three digits for example 900 entered.

Please help, trying to correct this code, been working on it for days and cant understand where I am going wrong

Code:

```package lottery.lottery; import java.util.Scanner; public class Lottery{     public static void main(String[ ] args)  {             // generate a lottery           int lottery = (int)(Math.random() *1000);           // Prompt the user to enter a guess           Scanner input = new Scanner(System.in);           System.out.print("Enter your lottery pick (three Digits):");           int guess = input.nextInt();           //Get digits from lottery           int  lotteryDigit1 = lottery / 100;           int  lotteryDigit2 = ((lottery / 10) % 10);           int  lotteryDigit3 = lottery % 10;           //get digits from guess           int  guessDigit1 = guess / 100;           int  guessDigit2 = ((lottery / 10) % 10);           int  guessDigit3 = guess % 10;           System.out.println("The lottery number is " + lottery);           // Check the guess           if (guess == lottery)             System.out.println ("Exact match: you win \$10,000");         else if (guessDigit2 == lotteryDigit1               || guessDigit1 == lotteryDigit2               || guessDigit3 == lotteryDigit2               || guessDigit2 == lotteryDigit3               || guessDigit3 == lotteryDigit1               || guessDigit1 == lotteryDigit3)               System.out.println ("Match all digits: you win \$3,000");         else if (guessDigit1 == lotteryDigit1               && guessDigit1 == lotteryDigit2               && guessDigit1 == lotteryDigit3               && guessDigit2 == lotteryDigit1               && guessDigit2 == lotteryDigit2               && guessDigit2 == lotteryDigit3               && guessDigit3 == lotteryDigit1               && guessDigit3 == lotteryDigit2               && guessDigit3 == lotteryDigit3)               System.out.println ("Match one digit: you win \$1,000");           else               System.out.println("Sorry, no match");         } }```