从 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]+", "");
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]+", "");