Я не вижу, что проблема, кажется, работает нормально, попробуйте дать некоторые дополнительные детали.
Что-то, что вы должны улучшить:
Проверьте, правильно ли установлен параметр в начале:
public static void main(String[] args)
{
int N = Integer.parseInt(args[0]);
String[] suit = { "Clubs", "Diamonds", "Hearts", "Spades" };
String[] rank =
{
"2", "3", "4", "5", "6", "7", "8", "9", "10",
"Jack", "Queen", "King", "Ace"
};
if(N < 0 || N > suit.length * rank.length)
throw new IllegalArgumentException("A number between 0 and " + suit.length * rank.length + "should be provided as argument");