Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class PlateChecker {
- public static final int OLD_PLATE=-1;
- public static final int NEW_PLATE=1;
- public static final int UNRECOGNIZED=0;
- public PlateChecker(){
- }
- /*
- * metodo che controlla se il tipo di targa inserita è una targa vecchio stile, nuovo stile o sconosciuta.
- * @param String plate : la targa inserita;
- * @return int result : -1 se vecchio stile, 1 se nuovo stile o 0 se sconosciuta;
- */
- public static int check(String plate){
- assert(plate!=null):"la targa non può essere nulla";
- char[]plateArray= plate.toCharArray();
- for (int j=0;j<plate.length();j++) {
- assert(Character.isLetterOrDigit(plateArray[j])==true):"la stringa nn è composta da caratteri alfaumerici";
- //assert(plateArray[j]>='A'&& plateArray[j]<='Z'||plateArray[j]>=0 && plateArray[j]<=9 ):"la stringa nn è composta da caratteri alfaumerici";
- }
- int result=-9;
- int contOld=0;
- int contNew=0;
- char lookMe;
- boolean isTotalOld=false;
- boolean isTotalNew=false;
- //-------------check for old_plate--------------------------------------------
- if (plate.length()==8) {
- for (int i=0;i<2;i++) {
- if(plate.charAt(i)>='A' && plate.charAt(i)<='Z'){
- contOld+=1;
- }
- }
- for (int i=3;i<8;i++) {
- if(plate.charAt(i)>=0 && plate.charAt(i)<=9){
- contOld+=1;
- }
- }
- if (plate.charAt(2)>='A' && plate.charAt(2)<='Z' || plate.charAt(2)>=0 && plate.charAt(2)<=9){
- contOld+=1;
- }
- }
- //--------------check for new_plate-------------------------------------------------------------
- if (plate.length()==7) {
- for (int j=2;j<5;j++) {
- if(plate.charAt(j)>='A' && plate.charAt(j)<='Z' && plate.charAt(j)!='G' && plate.charAt(j)!='I' &&
- plate.charAt(j)!='O' && plate.charAt(j)!='Q' && plate.charAt(j)!='U' ) contNew+=1;
- }
- for (int j=0;j<2;j++) {
- lookMe=plate.charAt(j);
- if( plate.charAt(j)<=9){//&&plate.charAt(j)>=0
- contNew+=1;
- }
- }
- for (int j=5;j<7;j++) {
- if( plate.charAt(j)<=9){//&& plate.charAt(j)>=0
- contNew+=1;
- }
- }
- }
- if(contOld==8)isTotalOld=true;
- if(contNew==7)isTotalNew=true;
- if(isTotalOld) result=-1;
- if(isTotalNew) result=1;
- if(!isTotalOld && !isTotalNew) result=0;
- return result;
- }
- public static void main(String[]args){
- //System.out.println("inserisci una targa");
- Scanner in=new Scanner(System.in);
- //String inPlate=in.next();
- String esNewPlate="12PLL34";
- String esOldPlate="PL312345";
- if (check(esNewPlate)==OLD_PLATE)System.out.println("OLD-PLATE");
- if (check(esNewPlate)==NEW_PLATE)System.out.println("NEW-PLATE");
- if (check(esNewPlate)==UNRECOGNIZED)System.out.println("UNRECOGNIZED");
- if (check(esOldPlate)==OLD_PLATE)System.out.println("OLD-PLATE");
- if (check(esOldPlate)==NEW_PLATE)System.out.println("NEW-PLATE");
- if (check(esOldPlate)==UNRECOGNIZED)System.out.println("UNRECOGNIZED");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement