I think you have suits[a], ranks[b] where
you should have written suits[b], ranks[a].
Also, you might find this syntax easier to work with:
The use of i, j, and k as indexes is a carryover convention from common mathematics usage, although for all Java cares, you could use "fred' and "bill" (though Fred and Bill would violate the capitalization conventions).
The i = 0; i < something.length syntax plays to the fact that Java uses zero-based indexes on arrays. Note that by using "<" instead of "<=" you don't need to remember to add the "-1".
Also, I'm snippy about lots of curly brackets myself. I've been burned when I inserted extra statements in a loop or conditional that didn't have them. It's not like we're still saving code on 80 KB floppies.