Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 只有带控件的数字_Java_String_Integer - Fatal编程技术网

Java 只有带控件的数字

Java 只有带控件的数字,java,string,integer,Java,String,Integer,首先,我是这里的新人。我需要问一个问题 Scanner klavye = new Scanner(System.in); System.out.println("DDD-DD-DDDD enter bank number digit: "); String hesapNo = klavye.nextLine(); if(hesapNo.length() != 11) { System.out.println("You need to enter number with 11 digit

首先,我是这里的新人。我需要问一个问题

Scanner klavye = new Scanner(System.in);

System.out.println("DDD-DD-DDDD enter bank number digit: ");
String hesapNo = klavye.nextLine();

if(hesapNo.length() != 11) {
   System.out.println("You need to enter number with 11 digit");
}
else {
   if(hesapNo.charAt(3) == '-' && hesapNo.charAt(6) == '-') {
       System.out.println(hesapNo + " is valid");
   }
   else {
      System.out.println(hesapNo + " is not valid");
   }
}
我只想取数字,但如果我这样写: ABC-DC-SMND “计数有效” 我怎样才能解决这个问题


感谢您的关注。

这可以通过以下简单方法完成:


您可以使用正则表达式和循环来提示用户直到输入有效

Scanner klavye = new Scanner(System.in);

System.out.println("DDD-DD-DDDD enter bank number digit: ");
String hesapNo;
final String regexPattern = "\\d{3}-\\d{2}-\\d{4}";
do {
   hesapNo = klavye.nextLine();
   System.out.println("You need to enter a number with 11 digit with pattern: DDD-DD-DDDD");
}
while(!hesapNo.matches(regexPattern));

System.out.println(hesapNo + " is valid");

我认为这是一个学习正则表达式的好机会。看见
Scanner klavye = new Scanner(System.in);
String hesapNo;
boolean validInput;

System.out.println("DDD-DD-DDDD enter bank number digit: ");
do {
    hesapNo = klavye.nextLine();
    validInput = hesapNo.matches("\\d{3}-\\d{2}-\\d{4}");
    if (!validInput) { // if invalid input then warn the user
        System.out.println("Your bank number must be in DDD-DD-DDDD format");
    }
} while (!validInput); // loop until a valid input is provided
System.out.println(hesapNo + " is valid");
Scanner klavye = new Scanner(System.in);

System.out.println("DDD-DD-DDDD enter bank number digit: ");
String hesapNo;
final String regexPattern = "\\d{3}-\\d{2}-\\d{4}";
do {
   hesapNo = klavye.nextLine();
   System.out.println("You need to enter a number with 11 digit with pattern: DDD-DD-DDDD");
}
while(!hesapNo.matches(regexPattern));

System.out.println(hesapNo + " is valid");