Three Cards Monte game I have written the following code for the Three Cards Monte game. It works as expected and returns the required output. 

However when I tried to turn it in to the teacher, he keeps saying its too long.

Is there any way to shorten it but make sure it returns the same output? 

import java.util.Scanner;

public class ThreeCardsMonte {
    public static void main(String[]args) {
        Scanner keyboard = new Scanner(System.in);
        int ace; 
        int guess;

        ace = 1 + (int)(Math.random()*3);

        System.out.println("You slide up to Fast Eddie's card table and plop down your cash.");
        System.out.println("He glances at you out of the corner of his eye and starts shuffling.");
        System.out.println("He lays down three cards.");
        System.out.println("");
        System.out.println("Which one is the ace?");
        System.out.println("");
        System.out.println("##  ##  ##");
        System.out.println("##  ##  ##");
        System.out.println("1   2   3");
        guess = keyboard.nextInt();

        if ((ace == 1) &amp;&amp; (guess == 1)) { 
            System.out.println("You nailed it! Fast Eddie reluctantly hands over your winnings, scowling.");
            System.out.println("AA  ##  ##");
            System.out.println("AA  ##  ##");
            System.out.println("1   2   3");
  }
        else if ((ace == 1) &amp;&amp; (guess != 1)) {
            System.out.println("Ha! Fast Eddie wins again! The ace was card number " +ace+".");
            System.out.println("AA  ##  ##");
            System.out.println("AA  ##  ##");
            System.out.println("1   2   3");
  }
        else if ((ace == 2) &amp;&amp; (guess == 2)) { 
            System.out.println("You nailed it! Fast Eddie reluctantly hands over your winnings, scowling.");
            System.out.println("##  AA  ##");
            System.out.println("##  AA  ##");
            System.out.println("1   2   3");
  }
        else if ((ace == 2) &amp;&amp; (guess != 2)) {
            System.out.println("Ha! Fast Eddie wins again! The ace was card number " +ace+".");
            System.out.println("##  AA  ##");
            System.out.println("##  AA  ##");
            System.out.println("1   2   3");
  }
        else if ((ace == 3) &amp;&amp; (guess == 3)) {
            System.out.println("You nailed it! Fast Eddie reluctantly hands over your winnings, scowling.");
            System.out.println("##  ##  AA");
            System.out.println("##  ##  AA");
            System.out.println("1   2   3");  
  }
        else if ((ace == 3) &amp;&amp; (guess != 3)) {
            System.out.println("Ha! Fast Eddie wins again! The ace was card number " +ace+".");
            System.out.println("##  ##  AA");
            System.out.println("##  ##  AA");
            System.out.println("1   2   3");  
          }
     }
}
You have a lot of repeats    

 if (ace == guess) { 
      System.out.println("You nailed it! Fast Eddie reluctantly hands over your winnings, scowling.");
  }
  else  {
      System.out.println("Ha! Fast Eddie wins again! The ace was card number " +ace+".");
  }

  if (ace == 1) {
      System.out.println("AA  ##  ##");
      System.out.println("AA  ##  ##");
  }
  else if (ace == 2) {
      System.out.println("##  AA  ##");
      System.out.println("##  AA  ##");
  }
  else if (ace == 3) {
      System.out.println("##  ##  AA");
      System.out.println("##  ##  AA");
  }
  System.out.println("1   2   3");


Could put the ace position in an array and just reference it by index
I don't know java to write an array