مساله :
ماشین های ATM به شما اجازه می دهند که کدهای PIN را که فقط ۴ یا ۶ رقمی هستند و فقط عدد هستند را وارد کنید.
تابعی بنویسید که اگر یک رشته صحیح کد PIN را گرفت مقدار true را برگرداند و در غیر اینصورت False را برگرداند.
Description:
ATM machines allow 4 or 6 digit PIN codes and PIN codes cannot contain anything but exactly 4 digits or exactly 6 digits.
If the function is passed a valid PIN string, return true
, else return false
.
Examples
"1234" --> true "12345" --> false "a234" --> false
public class Solution { public static boolean validatePin(String pin) { if (pin.matches("[0-9]+") && (pin.length() == 4 || pin.length() == 6)) return true; return false; } }
import java.util.regex.*; public class Solution { public static boolean validatePin(String pin) { return pin.matches("\\d{4}|\\d{6}"); } }
public class Solution { public static boolean validatePin(String pin) { if (pin == null || (pin.length() != 4 && pin.length() != 6)) { return false; } for (int i = 0; i < pin.length(); i++) { if (!Character.isDigit(pin.charAt(i))) { return false; } } return true; } }
public class Solution { public static boolean validatePin(String pin) { if (pin.matches("\\d{4}|\\d{6}")) { return true; } return false; } }public class Solution { public static boolean validatePin(String pin) { return pin.matches("[0-9]{4}|[0-9]{6}"); } }
public class Solution { public static boolean validatePin(String pin) { return pin.matches("\\d{4}|\\d{6}"); } }
public class Solution { public static boolean validatePin(String pin) { if (pin.length() == 4 || pin.length() == 6) return pin.chars().allMatch(Character::isDigit); return false; } }