package com.tarena.day15; import java.util.HashMap; import java.util.Map; public class ExceptionDemo { /** * @param args */ public static void main(String[] args) { UserManager mgr = new UserManager(); try{ User u = mgr.reg("tom", "tom", "tom@tom.com"); System.out.println(u); User u2 = mgr.reg("tom1", "tom", "tom@tom.com"); System.out.println(u2); mgr.login("tom2","tom1"); }catch(UserExistException e){ System.out.println(e.getMessage()); } catch (NameOrPwdException e) { System.out.println(e.getMessage()); }finally{ } } } class UserManager{ private int id = 1; //用户管理 private Map<String,User> users = new HashMap<String,User>(); //注册用户 public User reg(String name,String pwd,String email) throws UserExistException { if(users.containsKey(name)){ throw new UserExistException("已经注册了!"); } User user = new User(id++,name,pwd,email); users.put(name, user); return user; } public User login(String name, String pwd) throws NameOrPwdException { User u = users.get(name); if(u == null) { throw new NameOrPwdException("没有注册!"); } if(u.getPwd().equals(pwd)){ return u; } throw new NameOrPwdException("密码不对!"); } } class User{ private int id; private String name; private String pwd; private String email; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((email == null) ? 0 : email.hashCode()); result = prime * result + id; result = prime * result + ((name == null) ? 0 : name.hashCode()); result = prime * result + ((pwd == null) ? 0 : pwd.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; User other = (User) obj; if (!other.getName().equals(this.getName())) return false; return true; } public User(int id,String name, String pwd,String email) { super(); this.id = id; this.name = name; this.pwd = pwd; this.email = email; } @Override public String toString() { return "User [email=" + email + ", id=" + id + ", name=" + name + ", pwd=" + pwd + "]"; } } package com.tarena.day15; public class NameOrPwdException extends Exception { public NameOrPwdException() { } public NameOrPwdException(String message) { super(message); } public NameOrPwdException(Throwable cause) { super(cause); } public NameOrPwdException(String message, Throwable cause) { super(message, cause); } } package com.tarena.day15; public class RunTimeExceptionDemo { public static void main(String[] args) { String s = "12"; int i = Integer.parseInt(s); System.out.println(i); } } package com.tarena.day15; import java.util.Collections; import java.util.HashSet; import java.util.Set; import com.tarena.day10.Card; public class SetDemo { public static void main(String[] args) { HashSet<Card> cards = new HashSet<Card>(); cards.add(new Card(Card.SPADE,Card.TEN)); cards.add(new Card(Card.HEART,Card.JACK)); cards.add(new Card(Card.CLUB,Card.QUEEN)); cards.add(new Card(Card.SPADE,Card.KING)); cards.add(new Card(Card.SPADE,Card.ACE)); System.out.println(cards); cards.add(new Card(Card.SPADE,Card.ACE)); for(Card c : cards) { System.out.println(c); } } } package com.tarena.day15; public class ShopDemo { public static void main(String[] args) { Shop<Pet> petShop = new Shop<Pet>(new Pet("旺才")); // petShop.product = new Toy("伍迪");//错,有泛型约束 Pet dog = petShop.buy(); System.out.println(dog);//旺才 } } class Shop <P>{ P product; public Shop(P p){ this.product = p; } public P buy(){ return product; } } class Pet{ String name; public Pet(String name) { this.name = name; } public String toString(){ return name; } } class Toy{ String name; public Toy(String name) { this.name = name; } public String toString(){ return name; } } package com.tarena.day15; public class TryCatchFInally { /** * @param args */ public static void main(String[] args) { System.out.println(test()); } private static int test() { try{ String s = null; return s.length(); } catch(NullPointerException e){ System.out.println(e); return 2; } catch(Exception e){ return 3; } finally{//finally永远被执行 return 4; } } } package com.tarena.day15; public class UserExistException extends Exception { public UserExistException(){ } public UserExistException(String name){ super(name); } public UserExistException(Throwable e) { super(e); } public UserExistException(String name,Throwable e) { super(name,e); } }