java - Java输入编译错误

标签 java java.util.scanner

我需要 int num 才能只接受数字。如果我输入字母,就会出现错误。有没有办法立即标记字母,或者我是否必须将 num 作为字符串并运行循环?

import java.util.Scanner;

public class Test 
{        
    public static void main(String[] args) 
    {
        Scanner input = new Scanner(System.in);
        System.out.println("Input a number.");
        int num = input.nextInt();
    }
}

最佳答案

您必须使用Scanner.hasNextInt():

如果可以使用 nextInt() 方法将此扫描器输入中的下一个标记解释为默认基数中的 int 值,则返回 true。扫描仪不会前进超过任何输入。

public static void main(String[] args) 
 {
 System.out.println("Input a number.");
 Scanner sc = new Scanner(System.in);
 System.out.print("Enter number 1: ");
 while (!sc.hasNextInt()) sc.next();
 int num = sc.nextInt();

 System.out.println(num);

 }

关于java - Java输入编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12550068/

相关文章:

java - HttpURLConnection OutputStream 问题

java - 在我的 recyclerview 中获取超出绑定(bind)异常的错误索引

java - 使用扫描文件进行练习

Java Scanner 不接受字符串前的整数输入

java - JAVA中的大数相乘

java - 如何以编程方式设置 Spring log4j 属性文件路径

java - 如何在 Thymeleaf HTML 上使用 Java get 函数?

java - Mongo 可审核的 ZonedDateTime 字段在 Spring Boot 2 中不起作用

java.util.NoSuchElementException - 扫描仪读取用户输入

java - 声明扫描仪读取 system.in