/** * Verify Card's PAN * @param p full card PAN * @return true if pan LUHN's matches */ public boolean verify (String p) throws InvalidCardException { if (p == null || p.length() < 5) throw new InvalidCardException ("Invalid PAN " + p); return p.charAt(p.length()-1) == calculate (p.substring(0, p.length()-1)); } }
public void exec(CLIContext ctx, String[] args) throws Exception { if (args.length < 2) { ctx.println (String.format ("Usage: %span(s)", args[0])); return; } DefaultLUHNCalculator calc = new DefaultLUHNCalculator(); for (int i=1; i<args.length; i++) ctx.println(String.format("%s%c", args[i], calc.calculate(args[i]))); } }