Java 如何确定用户输入是否包含x个字符

Java 如何确定用户输入是否包含x个字符,java,Java,尝试进行另一次&&以查看锁\u组合是否正好有9个字符长 import java.util.Scanner; public class charlespeppers { public static void main(String[] args) { Scanner user_input = new Scanner (System.in); String lock_combination; System.out.print ("Ple

尝试进行另一次&&以查看
锁\u组合是否正好有9个字符长

import java.util.Scanner;

public class charlespeppers {

    public static void main(String[] args) {

        Scanner user_input = new Scanner (System.in);

        String lock_combination;
        System.out.print ("Please enter a lock combination ( ddRddLddR ) : ");
        lock_combination = user_input.next();


        if (lock_combination.charAt(0) >= '0' && lock_combination.charAt(0)<= '9' 
        &&  lock_combination.charAt(1) >= '0' && lock_combination.charAt(1)<= '9'
        &&  lock_combination.charAt(3) >= '0' && lock_combination.charAt(3)<= '9'
        &&  lock_combination.charAt(4) >= '0' && lock_combination.charAt(4)<= '9'
        &&  lock_combination.charAt(6) >= '0' && lock_combination.charAt(6)<= '9'
        &&  lock_combination.charAt(7) >= '0' && lock_combination.charAt(7)<= '9'
        &&  lock_combination.charAt(2) == 'R'
        &&  lock_combination.charAt(8) == 'R'
        &&  lock_combination.charAt(5) == 'L'
        &&  lock_combination == 9);
        {
            System.out.println("This is a valid lock combination.");
        }

}
}
import java.util.Scanner;
公共级查理辣椒{
公共静态void main(字符串[]args){
扫描仪用户输入=新扫描仪(System.in);
串锁组合;
System.out.print(“请输入锁组合(DDR):”;
lock_composition=user_input.next();

如果(lock_composition.charAt(0)>='0'和&lock_composition.charAt(0)='0'和&lock_composition.charAt(1)='0'和&lock_composition.charAt(3)='0'和&lock_composition.charAt(4)='0'和&lock_composition.charAt(6)='0'和&lock_composition.charAt(7)要查找lock_组合的长度,可以使用以下代码:

if(lock_combination.length() == 9)
您可以使用
String
的方法:

public int length()
:返回此字符串的长度。该长度等于字符串中Unicode代码单位的数量


您面临的问题是什么?lock_composition.length()?您熟悉正则表达式吗?此工具可以使您的代码更加简洁。我知道一些,但现在我的代码不允许我在第一个system.out.println之后添加else语句。它还将打印我的行,即使组合不符合上述任何要求。谢谢。另一个问题是我该怎么做关于在此脚本中关闭扫描仪?我尝试了许多地方,放置了scanner.close();它告诉我“无法从类型scanner中静态引用非静态方法close()”@user3316886您使用的是
scanner.close()
?您必须使用
user\u input.close()
。阅读Java中的
静态
。哦,我现在看到了,因为扫描仪是“用户输入”。谢谢
if (... && lock_combination.length() == 9)
    System.out.println("This is a valid lock combination.");