本文目录一览:
- 用java怎么实现QQ登录界面?
- java集合实现账号
- java用纯集合写登录
- java我是初学者,登录,注册两个类,用集合的泛型存注册的数据(姓名,密码),登录的时候怎么做啊?
- 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;
}
}