我正在班級學生中使用掃描儀獲取一些價值:墊子,姓名和姓氏。我想在 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");
}
uj5u.com熱心網友回復:
您可以像字串一樣讀取輸入并將其決議為整數。這允許您檢查輸入值是否為空。
public static void inserimento() {
Studente s=null;
do{
System.out.println("\nmatricola:");
Scanner mat = new Scanner(System.in);
try {
String matricola = mat.nextLine();
if(matricola.equals("")){
break;
}
Integer i = Integer.valueOf(matricola);
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);
}
catch(Exception e) {
System.out.println("the input value must be an Integer");
}
} while(true);
System.out.println("fine inserimento");
}
uj5u.com熱心網友回復:
public static void inserimento() {
Studente s=null;
do{
System.out.println("\nmatricola:");
Scanner mat = new Scanner(System.in);
String matricolaString = mat.nextLine();
if(!matricolaString.equals(""))
{
int i = Integer.parseInt(matricolaString);
}
else{
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");
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/357930.html
