gpt4 book ai didi

Java 输入 5 个数字, 'Regex' 和 'Else if'

转载 作者:行者123 更新时间:2023-12-01 13:53:55 25 4
gpt4 key购买 nike

我已经解决了之前的代码问题,现在我希望它能够通过“Else if”来识别它是 4 位及以下还是 6 位及以上。

当我输入字母以在“Else if”中使用 System.out.println 来拒绝它时。

  String digit;
String regex;
String regex1;
regex = "[0-9]{5}";
String test;
String validLength = "5";
char one, two, three, four, five; {
System.out.println("In this game, you will have to input 5 digits.");
do {
System.out.println("Please input 5-digits.");
digit = console.next();
test = digit.replaceAll("[a-zA-Z]", "");
if (digit.matches(regex)) {
one = (char) digit.charAt(0);
two = (char) digit.charAt(1);
three = (char) digit.charAt(2);
four = (char) digit.charAt(3);
five = (char) digit.charAt(4);
System.out.println((one + two + three + four + five) / 2);
}

最佳答案

此正则表达式应满足您的需求(带前导零):

[0-9]{5}

并且您将使用 while 循环,循环直到满足这两个条件,类似于

while (!inputString.matches("[0-9]{5}")) {
// ask again and again
if (!isInteger(inputString)) {
// invalid input
} else {
if (inputString.length() < 5) {
// too low
} else if (inputString.length() > 5) {
// too high
}
}
}

您可以使用这样的辅助方法:

public boolean isInteger(String s) {
try {
Integer.parseInt(s);
} catch(NumberFormatException e) {
return false;
}
return true;
}

关于Java 输入 5 个数字, 'Regex' 和 'Else if',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19748769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com