Skip to main content

Password checker problem


Problem : 

Implement a function name checkPassword(String str, int len, int min).

The function will accept a string str and its length len and another argument min which denotes minimum length of the password. You are supposed to print valid, if the password meets the criteria given below or invalid if the password doesn't meet the criteria mentioned below:

- at least of min characters.

- at least one numeric digit.

- at least one capital letter.

- at least one special character.

- must not have space or +

- starting character must not be a number. 


Java Solution :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import java.util.Scanner;
public class Main
{
	public static void main(String[] args) {
	    Scanner sc = new Scanner(System.in);
	    String str = sc.next();
	    int min = sc.nextInt();
	    System.out.println(checkPassword(str, str.length(), min));
	}
	
	public static String checkPassword(String str, int len, int min){
	    int num = 0, caps = 0, spl = 0;
	    if(len>=min){
	        if(str.charAt(0)>='0' && str.charAt(0)<='9')
	            return "Not Valid!!!!";
	        else{
	            for(int i=0; i<len; i++){
	                if(str.charAt(i)==' ' || str.charAt(i)=='+')
	                    return "Not Valid!!!!";
	                else if(str.charAt(i)>='A' && str.charAt(i)<='Z')
	                    caps += 1;
	                else if(str.charAt(i)>='0' && str.charAt(i)<='9')
	                    num += 1;
	                else
	                    spl += 1;
	            }
	            if((caps>=1) && (num>=1) && (spl>=1)) 
	                return "Valid.";
	            else
	                return "Not Valid!!!!"; 
	       }
	    }
	    else
	        return "Not Valid!!!!";
	}
}







Popular posts from this blog

Check whether a number is Seed of another number

 A number P is said to be the seed of another number Q if multiplying P with its digits equates to Q. Ex:-  123 is seed of 738 as    123 * 1 * 2 * 3 = 738  Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 public class Seed{ public static void main (String[] args){ int num1 = 123 , num2 = 738 ; num1 = Math. min (num1,num2); num2 = Math. max (num1,num2); System. out . println (checkSeed(num1, num2)); } public static boolean checkSeed ( int num1, int num2){ int seed = num1; while (num1> 0 ){ seed = seed * (num1% 10 ); num1 = num1 / 10 ; } if (seed==num2) return true ; else return false ; } } Python def checkSeed(num1,num2): seed = num1 while num1 > 0 : seed = seed * (num1 % 10 ) num1 = num1 // 10 if seed == n

Program to sort the first half of an array in ascending and second half in descending order

Ex:-  [2, 4, 3, 10, 5, 8] [2, 4, 3]  and [10, 5, 8] ====>  [2, 3, 4] ascending                                                              [10, 8, 5] descending [ 2, 3, 4, 10, 8, 5] is the required answer.  Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 public class ArraySort{ public static void main (String[] args){ int [] arr = { 2 , 4 , 3 , 10 , 5 , 8 }; //sorting first half in ascending order for ( int i= 0 ; i<(arr. length / 2 ); i++){ for ( int j=i+ 1 ; j<(arr. length / 2 ); j++){ if (arr[i]>arr[j]){ int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } //sorting second half in descending order for ( int i=(arr. length / 2 ); i<arr. length ; i++){ for ( int j=i+ 1 ; j<arr. length ; j++)

Write a method to move hyphens to the left and characters to the right in a string

 Ex:-     code--heist--   ==>     ----codeheist Note:-  Return null or None if str is empty. Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public static String moveHyphens (String str) { if (str. length ()== 0 ) return null ; else { String result = "" ; for ( int i= 0 ; i<str. length (); i++){ char ch = str. charAt (i); if (ch== '-' ) result = ch + result; else result += ch; } return result; } } Python def moveHyphens (str): if len(str)== 0 : return None else : result = "" for char in str: if char== '-' : result = char + result; else : result += char return result