需求:
编写程序模拟用户登陆: 1、程序开始执行时,提示用户输入“用户名”和“密码”信息。 2、输入信息之后,后台java程序模拟用户登陆。 3、注册时用户名要求长度在[6-14]之间,小于或者大于都表示异常。 注意: 完成登陆的方法放到一个单独的类中。 异常类自定义即可。 class UserService { public void log(String username,String password){ //这个方法中完成登陆! } } 编写main方法,在main方法中接收用户输入的信息,在main方法 中调用UserService的log方法完成登陆。
package day25;
import java.util.Scanner;
/*
编写程序模拟用户登陆:
1、程序开始执行时,提示用户输入“用户名”和“密码”信息。
2、输入信息之后,后台java程序模拟用户登陆。
3、注册时用户名要求长度在[6-14]之间,小于或者大于都表示异常。
注意:
完成登陆的方法放到一个单独的类中。
异常类自定义即可。
class UserService {
public void log(String username,String password){
//这个方法中完成登陆!
}
}
编写main方法,在main方法中接收用户输入的信息,在main方法
中调用UserService的log方法完成登陆。
*/
public class ExceptionHomework {
public static void main(String[] args) {
System.out.println("------用户登陆界面------");
Scanner sc = new Scanner(System.in);
System.out.println("请输入用户名:");
String username = sc.nextLine();
System.out.println("请输入密码:");
String password = sc.nextLine();
UserService u = new UserService();
//使用 try catch 捕捉异常
try {
u.log(username, password);
} catch (MyException e) {
System.out.println(e.getMessage());
System.out.println("------请重新输入!------");
}
//若执行 try catch 代码,则后续代码将不再执行!
}
}
class UserService {
String user = "zhangHao";
String pwd = "13579";
public UserService() {
}
//登陆方法
public void log(String username, String password) throws MyException {
if (null == username || username.length() < 6 || username.length() > 14) {
//手动抛出异常,再使用throws继续向上抛
throw new MyException("登陆时时用户名要求长度在[6-14]之间");
} else {
if (username.equals(user) && password.equals(pwd)) {
System.out.println("------登陆成功!------");
} else {
System.out.println("------登陆失败!------");
}
}
}
}
//自定义输入异常
//编译时异常
class MyException extends Exception {
public MyException(String message) {
super(message);
}
}
结果1:用户名正确,密码正确!
结果2:用户名正确,密码不正确!
结果3:用户名输入异常!(密码输入对错对此无影响)