在Java中,處理無效輸入通常涉及到異常處理和用戶提示。以下是一些建議:
InputMismatchException
(當(dāng)輸入與預(yù)期類型不匹配時)或NumberFormatException
(當(dāng)輸入無法轉(zhuǎn)換為數(shù)字時)。使用try-catch語句可以捕獲這些異常并采取適當(dāng)?shù)拇胧?/li>
import java.util.InputMismatchException;
import java.util.Scanner;
public class InvalidInput {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number;
try {
System.out.print("請輸入一個整數(shù): ");
number = scanner.nextInt();
System.out.println("您輸入的整數(shù)是: " + number);
} catch (InputMismatchException e) {
System.out.println("輸入錯誤!請輸入一個整數(shù)。");
}
}
}
import java.util.Scanner;
public class InvalidInput {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String name;
do {
System.out.print("請輸入您的名字: ");
name = scanner.next();
} while (name.isEmpty());
System.out.println("您好," + name + "!");
}
}
提供有用的錯誤信息:當(dāng)捕獲異常或檢查輸入有效性時,確保向用戶提供有關(guān)錯誤的詳細(xì)信息。這將幫助他們更好地理解問題所在并采取適當(dāng)?shù)拇胧?/p>
允許用戶重新嘗試輸入:在某些情況下,可能希望允許用戶在輸入無效數(shù)據(jù)后重新嘗試??梢酝ㄟ^將輸入功能放在循環(huán)中來實(shí)現(xiàn)這一點(diǎn)。
import java.util.InputMismatchException;
import java.util.Scanner;
public class InvalidInput {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number;
while (true) {
System.out.print("請輸入一個整數(shù): ");
try {
number = scanner.nextInt();
System.out.println("您輸入的整數(shù)是: " + number);
break;
} catch (InputMismatchException e) {
System.out.println("輸入錯誤!請輸入一個整數(shù)。");
}
}
}
}
結(jié)合這些方法,可以根據(jù)您的需求處理Java中的無效輸入。