要求:
模擬注冊操作,如果用戶名已存在,則拋出異常並提示:該用戶名已經被注冊,請選擇注冊用戶名。
分析:
1)使用數組保存已經注冊過的注冊名
2)Scanner獲取用戶輸入注冊的用戶名
3)定義一個方法,對用戶輸入中注冊名進行判斷遍歷存儲已經注冊過的用戶名,獲取每一位用戶的用戶名,使用獲取到的用戶名和用戶輸入的用戶名比較
true:
用戶名已經存在,拋出RegisterFailedException異常,告知用戶“該用戶名已經被注冊,請重新選擇注冊用戶名”;
false:
繼續遍歷比較
如果循環結束,仍未找到重復的用戶名,提醒用戶“注冊成功!”
實現:
import com.sun.deploy.association.RegisterFailedException;
import java.util.Scanner;
public class demo01 {
//使用數組保存已經注冊過的用戶名
static String[] usernames = {"張三", "李四", "王五", "趙六"};
public static void main(String[] args) throws RegisterFailedException {
//使用Scanner獲取用戶用戶輸入注冊的用戶名
Scanner sc = new Scanner(System.in);
System.out.println("請輸入你要注冊的用戶名");
String username = sc.next();
checkUsername(username);
}
//定義一個方法,對用戶輸入中注冊名進行判斷
public static void checkUsername(String username) throws RegisterFailedException {
//遍歷已經注冊過的用戶名,獲取每一個用戶名
for (String name : usernames) {
//使用獲取到的用戶名和輸入的用戶名進行比較
if (username.equals(name)) {
//用戶名已經存在,拋出RegisterFailedException異常,告知用戶"該用戶名已經被注冊,請重新選擇注冊用戶名”;使用throw聲明處理
throw new RegisterFailedException("該用戶名已經被注冊,請重新選擇注冊用戶名");
}
}
System.out.println("注冊成功!");
}
}
結果: