Java 我的输入和if-else语句不正确,

Java 我的输入和if-else语句不正确,,java,if-statement,methods,Java,If Statement,Methods,我试图打印一个ISBN号,用户输入10个数字,程序将检查以下条件是否正确:输入仅为数字,输入长度为10个字母。就这样 问题:不管怎样,“if”语句都不会运行。即使我的输入是“1234567899” m:不管怎样,“如果”语句都不会运行。即使我的输入是“1234567899” m:不管怎样,“如果”语句都不会运行。即使我的输入是“1234567899”请不要依赖于正常程序流的异常,它们应该用于异常情况 为什么不用这个呢 private static boolean isValidISBN(Stri

我试图打印一个ISBN号,用户输入10个数字,程序将检查以下条件是否正确:输入仅为数字,输入长度为10个字母。就这样

问题:不管怎样,“if”语句都不会运行。即使我的输入是“1234567899” m:不管怎样,“如果”语句都不会运行。即使我的输入是“1234567899”
m:不管怎样,“如果”语句都不会运行。即使我的输入是“1234567899”请不要依赖于正常程序流的异常,它们应该用于异常情况

为什么不用这个呢

private static boolean isValidISBN(String s) {
    return s.matches("^[0-9]{10}$");
}

编辑:也许我需要解释一下<代码>“^[0-9]{10}$”是一个
^
代表字符串的开头,
$
代表字符串的结尾
[0-9]
表示任何数字,
{10}
是数字计数。

请不要依赖于正常程序流的异常,它们应该用于异常情况

为什么不用这个呢

private static boolean isValidISBN(String s) {
    return s.matches("^[0-9]{10}$");
}

编辑:也许我需要解释一下<代码>“^[0-9]{10}$”是一个
^
代表字符串的开头,
$
代表字符串的结尾<代码>[0-9]表示任何数字,
{10}
是数字的计数。

输入一个数字123456789,即9个数字,您将看到您的syso语句被打印:)输入一个数字123456789,即9个数字,您将看到您的syso语句被打印:)谢谢!我假设字符串的长度与数组的长度(从0开始)的工作方式相同。谢谢:)数组的长度不是从0开始,而是从1开始。只有数组的索引从0开始。例如,
new String[10]。length==10
我想您无法帮助解决数组问题:(谢谢!我假设字符串的长度与数组的长度(从0开始)的工作方式相同。谢谢:)数组的长度不是从0开始,而是从1开始。只有数组的索引从0开始。例如,
new String[10]。length==10
我想您无法帮助解决数组问题:(我必须问,为什么要将此方法设置为私有?我只是想知道。我需要在if语句中访问布尔值。它是包含if语句的类的一部分。如果需要从其他类中访问它,只需将其公开。我必须问,为什么要将此方法设置为私有?我只是想知道。我需要在中访问布尔值。)我的if语句。它是包含if语句的类的一部分。如果您需要其他类中的if语句,请将其公开。
private static boolean isValidISBN(String s) {
    return s.matches("^[0-9]{10}$");
}