会飞的大萝卜 2015-07-30 17:44 采纳率: 0%
浏览 1572

怎样才能用稽核保存多个类中的不同对象对象


 import java.io.InputStream;
import java.net.PasswordAuthentication;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Scanner;

/*第一步: 提示用户选择功能, A(注册)  B(登陆) 。 要求: 功能选择 的时候要忽略大小写。


注册:
    1. 提示用户输入注册的账号(数字)与密码,如果输入的id号已经存在集合中,提示用户重新输入。 
注册完毕之后,把集合中的所有用户信息打印出来。(使用:toArrry()方法) 

登陆: 
    提示用户输入登陆的账号与密码,如果账号与密码这个用户已经存在集合中,那么登陆成功,否则登陆失败。
 * 
 * 
 * 
 * 
 */
class User{//创建一个用户类
    int name;
    String password;
    public User(int name,String password){
        this.name=name;
        this.password=password;
    }

}
class Registered extends User implements Runnable//创建一个注册类
{
    public Registered(int name, String password) {
        super(name, password);
        // TODO Auto-generated constructor stub
    }

    User user=new User(00000,"lzk147258");
@Override
public String toString() {
    // TODO Auto-generated method stub
    return "[  账号    "+this.name+"  密码    "  +this.password+"  ]";    
}
@Override
    public boolean equals(Object obj){
    Registered p=(Registered) obj;
    return this.name==p.name;


};
    @Override
    public void run() {//多线程实现方法
        // TODO Auto-generated method stub

    }



}
class loagin extends User implements Runnable{
    public loagin(int name, String password) {//构造方法
        super(name, password);
        // TODO Auto-generated constructor stub
    }
    // TODO Auto-generated constructor stub

//创建一个登陆类
    public String toString() {
        // TODO Auto-generated method stub
        return "[  账号    "+this.name+"  密码    "  +this.password+"  ]";    
    }
    @Override
        public boolean equals(Object obj){
        loagin p=(loagin) obj;
        return this.name==p.name;


    };
    @Override
    public void run() {
    }//创建一个登陆类




}
public class demo8 {//创建一个主类

    public static void main(String[] args) {
            while(true){
        String a; //用于接受输入流
        Collection c=new ArrayList();
        //Registered r=new Registered(1111,"sg");
        //loagin l =new loagin(1111,"sg");
        Scanner b= new Scanner(System.in);
        //boolean flag=true;//设置一个布尔变量,判断while的循环条件
        System.out.println("请选择功能,A(注册)  B(登陆)。");
        System.out.println("请输入:");
        a=b.next();//请输入
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        if(a.equals("A")|a.equals("B")){//判断是否需要重新输入

        if(a.equals("A")){
            System.out.println("欢迎使用 注册 功能!");

            System.out.println("请输入账号:");
            int name=b.nextInt();
            System.out.println("请输入密码:");
             String password=b.next();
             Registered r=new Registered(name,password);
            if(c.contains(r)){
                System.out.println("这个账号已存在");
            }else{
                c.add(r);
                System.out.println("注册成功!");
                Object[] arr=c.toArray();
                for(int i=0;i<arr.length;i++){
                    Registered p=(Registered) arr[i];
                    if(p.name==r.name){

                        System.out.println("当前用户名和密码是"+p);
                    }

                }
            }


        }
        else{
            loagin l =new loagin(1111,"sg");
            System.out.println("欢迎使用 登陆 功能!");
            System.out.println("请输入账号:");
            l.name=b.nextInt();
            System.out.println("请输入密码:");
            l.password=b.next();
            if(c.contains(l)){
                Object[] arr=c.toArray();
                for(int i=0;i<arr.length;i++){
                    loagin p=(loagin) arr[i];
                    if(p.password==l.password){

                        System.out.println("登陆成功!");
                    }else{  
                        System.out.println("密码错误");}




                }


            }else 
                System.out.println("账户名不存在!");

        }}
        else {
            System.out.println("输入错误!请重新输入!");
            }
        }


}
}
  • 写回答

2条回答 默认 最新

  • 会飞的大萝卜 2015-07-30 18:11
    关注

    我知道了。while的位置放错了,问题又来了,怎样才能把a对象指向的集合与b对象指向的集合放在一块儿呢?

    评论

报告相同问题?

悬赏问题

  • ¥15 opencv 无法读取视频
  • ¥15 用matlab 实现通信仿真
  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))
  • ¥20 5037端口被adb自己占了
  • ¥15 python:excel数据写入多个对应word文档
  • ¥60 全一数分解素因子和素数循环节位数
  • ¥15 ffmpeg如何安装到虚拟环境
  • ¥188 寻找能做王者评分提取的
  • ¥15 matlab用simulink求解一个二阶微分方程,要求截图