/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Bussiness bussiness = new Bussiness();
bussiness.Register();
bussiness.Register();
User user = new User ();
if((user = bussiness.Login())!=null){
System.out.println(user.getName()+"登陆成功");
}else{
System.out.println("登陆失败");
}
}
}
class Bussiness{
Dao dao = new Dao ();
public User Login(){
User user = new User();
Scanner scan= new Scanner(System.in);
System.out.println("输入用户名");
user.setName( scan.next());
System.out.println("输入用密码");
user.setPassword(scan.next());
public void Register(){
User user = new User();
Scanner scan= new Scanner(System.in);
while(true){
System.out.println("输入用户名");
user.setName( scan.next());
System.out.println("输入用密码");
user.setPassword(scan.next());
if(dao.find(user.getName())){
System.out.println("已经存在该User.请重新输入");
}else{
dao.add(user);
System.out.println("注册成功");
break;
}
}
}
}
class Dao {
private List<User> list = new ArrayList<User>();
public Boolean find(String userName){
for (User u :list){
if(u.getName().equals(userName)){
return true;
}
}
return false;
}
public User find(User user ){
for (User u :list){
if(u.getName().equals(user.getName())&&u.getPassword().equals(user.getPassword())){
return u;
}
}
return null;
}
public void add(User user ){
list.add(user);
}
}
class User{
String name ;
String password;
public User(String name, String password) {
super();
this.name = name;
this.password = password;
}
public User() {
// TODO Auto-generated constructor stub
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
考试真考这个。。按题意都要在方法内实现作者: miaoyi 时间: 2016-11-11 22:46 本帖最后由 miaoyi 于 2016-11-11 23:01 编辑
只写了一个注册的,登陆的在原有基础上改几行就可以了。
1,自定义类User
public class User {
private String account;
private String passWord;
public User() {
super();
}
public User(String account, String passWord) {
super();
this.account = account;
this.passWord = passWord;
}
public String getAccount() {
return account;
}
2,注册方法
import java.util.ArrayList;
import java.util.Scanner;
public class test_Test {
public static void main(String[] args) {
ArrayList<User> user = new ArrayList<>(); // 创建集合,用于存放输入的用户名和密码,泛型为自定义类User
while(true){
login(user); //调用注册方法
}
}
private static void login(ArrayList<User> user) { //注册方法的实现
Scanner sc = new Scanner(System.in);//创建键盘录入对象
String account; //定义字符串,用于接受输入的用户名
String password; //定义字符串,用于接受输入的密码
a:while(true){ //循环体a:在账号重复的情况下重新调用键盘录入
System.out.println("请输入用户名:");
account= sc.nextLine();
System.out.println("请输入密码:");
password = sc.nextLine();
ArrayList<String> abc = new ArrayList<String>(); //创建临时集合,用于存放user集合中原有的用户名(account)
for (User us : user) { //遍历user集合,将集合user中的每个对象的用户名存储在abc集合中
abc.add(us.getAccount());
}
if(abc.contains(account)){ //判断新输入的用户名是否包含在原有user集合中
System.out.println("账号已存在,请重新输入");
}else{
break a;
}
}
user.add(new User(account , password));
System.out.println("注册成功");
}
}
}