繁体   English   中英

从 java.util.Scanner 读取字母数字用户输入时出现 InputMismatchException

[英]InputMismatchException when reading alphanumeric user input from java.util.Scanner

import java.util.Scanner;

public class StrinExp {
    public static void main(String args[]) {
        Scanner scanner = new Scanner(System.in);
        int i = 0;
        String a = null;
        System.out.println("Enter username");
        i=scanner.nextInt();
        a=a.valueOf(i);
        System.out.print(a);
    }
}

但是当我给出字母数字值时出现错误..

例如:Manish0818

甚至当我给出与字符串相同的值时,仍然面临同样的问题。

帮助

更改您的输入语句。

String a = null;
System.out.println("Enter username");
a = scanner.next();
System.out.println(a);

如果有字母数字,则将其作为字符串接收,而不是整数。 如果您这样做,您将遇到InputMismatchException 这意味着您正在尝试获取一个整数,但您正在输入一个数据类型不同的字符串。

如果您想删除除字母数字之外的所有垃圾字符,那么您可以尝试

a = a.replaceAll("[^a-zA-Z0-9]+", "");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM