在 Java 中检查输入是否为整数
问题指出,我们需要检查 Java 语言中的输入是否为整数。
使用 Java 中的 hasNextInt
方法检查输入是否为整数
System
是具有静态方法和字段的类。我们永远不能实例化它的对象。in
对象是标准输入流。该流已经打开,可以提供输入数了。
hasNextMethod
存在于 Scanner
类中,如果此扫描程序输入中的下一个标记可以被评估为 int
值,则返回 true。如果关闭了扫描程序对象,则该方法将抛出 IllegalStateException
。
package checkInputIsInt;
import java.util.Scanner;
public class CheckIntegerInput {
public static void main(String[] args) {
System.out.print("Enter the number: ");
Scanner scanner = new Scanner(System.in);
if (scanner.hasNextInt()) {
System.out.println("The number is an integer");
} else {
System.out.println("The number is not an integer");
}
}
}
在第一行中,使用控制台输入从用户那里获取输入。由于输入的文本是数字,因此该数字是要打印的整数。
Enter the number: 1
The number is an integer
由于输入的文本不是数字,因此将打印 else 条件语句。
Enter the number: Hi
The number is not an integer
使用 try...catch
块检查数字是否为整数
在下面的代码块中,我们使用 Scanner 类从控制台获取用户输入。Scanner
类具有 next
方法。如果没有更多可用的令牌,则抛出 NoSuchElementException
,如果关闭此 Scanner
,则抛出 IllegalStateException
。
public class CheckIntegerInput {
public static void main(String[] args) {
System.out.print("Enter the number : ");
Scanner scanner = new Scanner(System.in);
try {
Integer.parseInt(scanner.next());
System.out.println("The number is an integer");
} catch (NumberFormatException ex) {
System.out.println("The number is not an integer ");
}
}
如果数字是整数,则上面的代码将在 try 块中显示该语句。如果该方法从其抛出 Exception
,则将执行 catch 块中存在的语句;如果无法将字符串转换为数字类型之一,则将抛出 NumberFormatException
。
上面代码的输出类似于上面给出的第一个示例代码中的输出。
Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.
LinkedIn