Java 集合操作

发布时间:2022-11-22

本文目录一览:

  1. 用java怎么实现QQ登录界面?
  2. java集合实现账号
  3. java用纯集合写登录
  4. java我是初学者,登录,注册两个类,用集合的泛型存注册的数据(姓名,密码),登录的时候怎么做啊?
  5. java通过集合注册登陆系统.求解

用java怎么实现QQ登录界面?

用java做QQ登录界面的写法如下:

package ch10;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
// 定义该类继承自JFrame,实现ActionListener接口
public class LoginTest extends JFrame implements ActionListener {
    // 创建JPanel对象
    private JPanel jp = new JPanel();
    // 创建3个标并加入数组
    JLabel name = new JLabel("请输入用户名");
    JLabel password = new JLabel("请输入密码");
    JLabel show = new JLabel("");
    private JLabel[] jl = { name, password, show };
    // 创建登陆和重置按扭并加入数组
    JButton login = new JButton("登陆");
    JButton reset = new JButton("重置");
    private JButton[] jb = { login, reset };
    // 创建文本框以及密码框
    private JTextField jName = new JTextField();
    private JPasswordField jPassword = new JPasswordField();
    public LoginTest() {
        // 设置布局管理器为空布局,这里自己摆放按钮、标签和文本框
        jp.setLayout(null);
        for (int i = 0; i < 2; i++) {
            // 设置标签和按扭的位置与大小
            jl[i].setBounds(30, 20 + 40 * i, 180, 20);
            jb[i].setBounds(30 + 110 * i, 100, 80, 20);
            // 添加标签和按扭到JPanel容器中
            jp.add(jl[i]);
            jp.add(jb[i]);
            // 为2个按钮注册动作事件监听器
            jb[i].addActionListener(this);
        }
        // 设置文本框的位置和大小,注意满足美观并足够用户名的长度
        jName.setBounds(130, 15, 100, 20);
        // 添加文本框到JPanel容器中
        jp.add(jName);
        // 为文本框注册动作事件监听器
        jName.addActionListener(this);
        // 设置密码框的位置和大小,注意满足美观和足够密码的长度
        jPassword.setBounds(130, 60, 100, 20);
        // 添加密码框到JPanel容器中
        jp.add(jPassword);
        // 设置密码框中的回显字符,这里设置美元符号
        jPassword.setEchoChar('$');
        // 为密码框注册动作事件监听器
        jPassword.addActionListener(this);
        // 设置用于显示登陆状态的标签大小位置,并将其添加进JPanel容器
        jl[2].setBounds(10, 180, 270, 20);
        jp.add(jl[2]);
        // 添加JPanel容器到窗体中
        this.add(jp);
        // 设置窗体的标题、位置、大小、可见性及关闭动作
        this.setTitle("登陆窗口");
        this.setBounds(200, 200, 270, 250);
        this.setVisible(true);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    // 实现动作监听器接口中的方法actionPerformed
    public void actionPerformed(ActionEvent e) {
        // 如果事件源为文本框
        if (e.getSource() == jName) {
            // 切换输入焦点到密码框
            jPassword.requestFocus();
        }
        // 如果事件源为重置按扭
        else if (e.getSource() == jb[1]) {
            // 清空姓名文本框、密码框和show标签中的所有信息
            jl[2].setText("");
            jName.setText("");
            jPassword.setText("");
            // 让输入焦点回到文本框
            jName.requestFocus();
        }
        // 如果事件源为登陆按钮,则判断登录名和密码是否正确
        else {
            // 判断用户名和密码是否匹配
            if (jName.getText().equals("lixiangguo")
                    && String.valueOf(jPassword.getPassword()).equals("19801001")) {
                jl[2].setText("登陆成功,欢迎您的到来!");
            } else {
                jl[2].setText("对不起,您的用户名或密码错误!");
            }
        }
    }
    public static void main(String[] args) {
        // 创建LoginTest窗体对象
        new LoginTest();
    }
}

java集合实现账号

这是要? 代码? 定义一个bean类为账户类,然后把注册的账户和密码封装到该类然后放入List。 此为注册,然后是当登录的时候把该集合拿出来与登录的账户密码进行比对。

// bean类
package logo;
public class UserBean {
    private String username;
    private String password;
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
}
// 实现类
package logo;
import java.util.ArrayList;
import java.util.List;
public class Listuser {
    private List<UserBean> list = new ArrayList<>();
    // 注册用户
    public String adduser(UserBean ub) {
        if (!"".equals(ub) && null != ub) {
            list.add(ub);
            return "注册成功";
        } else {
            return "注册失败";
        }
    }
    // 登录
    public String login(String username, String password) {
        if (list != null && !"".equals(list)) {
            for (int i = 0; i < list.size(); i++) {
                UserBean ub = list.get(i);
                if (ub.getUsername().equals(username) && ub.getPassword().equals(password)) {
                    return "登录成功";
                } else {
                    return "用户名或密码错误";
                }
            }
            return "用户名不存在";
        } else {
            return "用户名不存在";
        }
    }
    // 封装 UserBean
    public UserBean addUserBean(String username, String password) {
        UserBean ub = new UserBean();
        if (!"".equals(username) && !"".equals(password)) {
            ub.setUsername(username);
            ub.setPassword(password);
            return ub;
        } else {
            return null;
        }
    }
}
// 测试
package logo;
import java.util.Scanner;
public class Test {
    public static void main(String[] args) {
        Listuser lis = new Listuser();
        Scanner sc = new Scanner(System.in);
        while (true) {
            System.out.println("1:注册----2:登录---3:退出");
            String flag = sc.nextLine();
            if ("1".equals(flag)) {
                System.out.println("请输入用户名");
                String username = sc.nextLine();
                System.out.println("请输入密码");
                String password = sc.nextLine();
                // 封装用户
                UserBean ub = lis.addUserBean(username, password);
                // 注册用户
                String sr = lis.adduser(ub);
                System.out.println(sr);
            }
            if ("2".equals(flag)) {
                // 登录
                System.out.println("请输入用户名");
                String username = sc.nextLine();
                System.out.println("请输入密码");
                String password = sc.nextLine();
                String sr = lis.login(username, password);
                System.out.println(sr);
            }
            if ("3".equals(flag)) {
                break;
            }
        }
    }
}

java用纯集合写登录

import java.util.HashMap;
import java.util.Scanner;
public class LoginDemo {
    public static void main(String args[]) {
        // 初始化数据
        HashMap<String, String> map = new HashMap<>();
        map.put("tom", "123001");
        map.put("jerry", "xxxyyy");
        map.put("admin", "001");
        System.out.println("请输入用户名:");
        Scanner sc = new Scanner(System.in);
        String userId = sc.nextLine();
        System.out.println("请输入密   码:");
        String password = sc.nextLine();
        // 用户名不为空 并且 集合中包含该用户名 并且该用户名对应的密码和输入的密码一致
        if (userId != null && map.containsKey(userId) && map.get(userId).equals(password)) {
            System.out.println("登录成功");
        } else {
            System.out.println("登录失败");
        }
        sc.close();
    }
}

输出:

请输入用户名:
tom
请输入密   码:
123010
登录失败
请输入用户名:
admin
请输入密   码:
001
登录成功

java我是初学者,登录,注册两个类,用集合的泛型存注册的数据(姓名,密码),登录的时候怎么做啊?

你这要做的是一个模拟登录,注册,那么首先需要1个静态的容器,也就是存数据的地方, 建议单独建一个类,Data 里边一个静态变量

public static HashMap<String, User> users = new HashMap<>(); // Key为用户的名称,不能重复,User为用户对象,里边可以添加你需要模拟的属性

思路: 注册的时候,首先根据用户输入的用户名在users里去找有没有重复的Key,users.containsKey()这个方法可以做到,如果有则不能用此用户名注册,否则可以继续填写资料,填写完成后,实例化一个User,将这个User的userName作为key,User作为value插入users这个map中。 登录的时候也是根据用户名去users中去找key,然后在匹配密码。

java通过集合注册登陆系统.求解

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class StudentManage {
    List<User> userList = new ArrayList<>();
    static Scanner sc = new Scanner(System.in);
    public static void main(String[] args) {
        StudentManage smManage = new StudentManage();
        while (true) {
            System.out.println("--------请选择操作--------\n\t1.用户登录\n\t2.用户注册\n\t3.退出");
            System.out.println("-------------------------");
            System.out.println("输入:");
            String opString = sc.next();
            switch (opString) {
                case "1":
                    smManage.login();
                    break;
                case "2":
                    smManage.regist();
                    break;
                case "3":
                    System.exit(0);
                    break;
                default:
                    System.out.println("输入错误");
                    break;
            }
        }
    }
    // 用户登录
    public void login() {
        System.out.println("--------用户登录--------");
        System.out.println("请输入用户名:");
        String username = sc.next();
        System.out.println("请输入密码:");
        String password = sc.next();
        if (userList.contains(new User(username, password))) {
            System.out.println("登录成功");
        } else {
            System.out.println("用户名或密码错误!");
        }
    }
    // 用户注册
    public void regist() {
        System.out.println("--------用户注册--------");
        boolean flag = true;
        String username = "";
        while (flag) {
            System.out.println("请输入用户名:");
            username = sc.next();
            if (userList.size() > 0) {
                for (User user : userList) {
                    if (user.getUsername().equals(username)) {
                        flag = true;
                        System.out.println("Tips:用户名已存在,请重新输入!");
                        break;
                    } else {
                        flag = false;
                    }
                }
            } else {
                flag = false;
            }
        }
        System.out.println("请输入密码:");
        String password = sc.next();
        userList.add(new User(username, password));
    }
}
class User {
    private String username;
    private String password;
    public User(String username, String password) {
        super();
        this.username = username;
        this.password = password;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((password == null) ? 0 : password.hashCode());
        result = prime * result + ((username == null) ? 0 : username.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 (password == null) {
            if (other.password != null)
                return false;
        } else if (!password.equals(other.password))
            return false;
        if (username == null) {
            if (other.username != null)
                return false;
        } else if (!username.equals(other.username))
            return false;
        return true;
    }
}