【发布时间】:2021-12-25 15:48:00
【问题描述】:
我在学生课堂上使用扫描仪获得了一些价值:垫子、姓名和姓氏。我想在 mat 的插入是 == "" 而不是代码时完成程序。 例如,当我插入 mat: 8293 时,程序继续运行,但是当我插入 "" 一个空白值时,程序将完成。我认为 mat 值应该转换为 Integer 但不适用于 if 块。
public static void inserimento() {
Studente s=null;
do{
System.out.println("\nmatricola:");
Scanner mat = new Scanner(System.in);
int matricola = mat.nextInt();
Integer i = Integer.valueOf(matricola);
if(i.equals(null)){
break;
}
System.out.println("\ncognome:");
Scanner cog = new Scanner(System.in);
String cognome = cog.next();
System.out.println("\nnome:");
Scanner nom = new Scanner(System.in);
String nome = nom.next();
s = new Studente(matricola,cognome,nome);
} while(true);
System.out.println("fine inserimento");
}
【问题讨论】:
-
如果您尝试输入
""并将其处理为 int 输入,则该代码应引发输入不匹配异常。它不会给你一个空值,所以你的整个前提可能是错误的。