当前位置: 首页 > 知识库问答 >
问题:

只有带控件的数字

贾俊艾
2023-03-14

首先,我是新来的。我需要问一个问题。

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“计数有效”,我如何解决这个问题?

谢谢你的关心。

共有2个答案

邹华池
2023-03-14

这可以通过使用String的简单正则表达式来实现。匹配项

Scanner klavye = new Scanner(System.in);

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

if(hesapNo.matches("\\d{3}-\\d{2}-\\d{4}")){ // <-- this regex matches your pattern DDD-DD-DDDD
    System.out.println(hesapNo + " is valid");
}else{
    System.out.println("You need to enter number with 11 digit");
}

编辑

如果您希望在输入有效输入之前一直请求输入,则可以执行以下操作:

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");
步浩壤
2023-03-14

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

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");
 类似资料:
  • 问题内容: 我将n avplayer放置在视图控制器中,以自定义视图控制器的其他一些元素,但是我仍然想要AVPlayerViewController中使用的播放和清理控件。当我不使用AvPlayerViewcontroller时,是否可以为Avplayer启用这些控件? 问题答案: 否。通常的解决方案(Apple明确建议)是将AVPlayerViewController用作嵌入式视图控制器-即,使

  • 在JavaFX8中,有一个UI控件体系结构,用于创建自定义控件。基本上是基于: 控制。 皮肤。 新浪网. 此外,还有一个FXML项目的基本结构,也用于制作GUI。基本上: 控制。 FXML 文件。 新浪网. 我想将FXML与UI控件架构一起使用,所以我的问题是: 谁是FXML文件的控制器?皮肤? 我必须执行以下代码之类的操作?:

  • 我正在制作一个类似游戏24的程序。 我需要检查用户的输入(一个使用程序提供的四个随机数的数学方程),看看用户给出的数字是否只有一个数字。 例如: 程序吐出6 4 9 5 用户可以输入9 5 6 4(等于24)。 但是我不希望他们能够做任何像95-64这样的事情(不对,只是一个例子)来制造24。 我如何检查等式中的数字是否只有一位数? /***接受用户的数学问题。*然后...*确保输入的数学问题遵循

  • 我在Java8u40中测试了旋转器控制 现在我可以插入数字和文本了。有没有可以作为例证的例子?

  • 本文向大家介绍C# TextBox控件实现只能输入数字的方法,包括了C# TextBox控件实现只能输入数字的方法的使用技巧和注意事项,需要的朋友参考一下 只需要在控件TextBox的keypress事件中写入如下代码即可满足要求: 代码如下: 其中.txbEnd为当前你窗体中textbox控件的name

  • 让我预先感谢你的帮助! 我在一个spring boot应用程序中有一个奇怪的行为。我来给你解释一下: 我正在用一些不错的rest-json服务包装一些遗留的Web服务(自定义xml消息)(通过spring-mvc和Spring boots并使用jackson序列化东西) 为了与遗留系统通信,我创建了一个自定义XmlMapper、序列化器和反序列化器。 最后,我创建了一个httpclientconf