public class CarteDiCredito
{ public static boolean valido(String num)
  { short numPari = 0;
    short numDisp = 0;
    if (num.length() != 10)
      return false;
    for (int i = 0; i < 10; i++)
    { char c = num.charAt(i);
      switch (c)
      { case '1':
        case '3':
        case '5':
        case '7':
        case '9':
          numPari = 0;
          numDisp++;
          break;
        case '2':
        case '4':
        case '6':
        case '8':
        case '0':
          numPari++;
          numDisp = 0;
          break;
        default:
          return false;
      }
      if ((numPari > 3) || (numDisp > 4))
        return false;
    }
    return true;
  }
  public static void main(String[] args)
  { Console.scriviStringa("Inserisci il numero di carta: ");
    String s = Console.leggiStringa();
    if (valido(s))
      Console.scriviStringa("La carta e' buona");
    else
      Console.scriviStringa("La carta e' falsa");
  }
}
