确定。我正在制作一个用于计算机管理的软件。允许人们登录并执行操作取决于他们的许可。到目前为止我所拥有的是一个包含用户名,密码和许可的所有用户的阵列系统。我想要做的是从一个java swing窗口(我已经编程)和比较该窗口中的用户名和密码到所有数组并检查匹配。任何帮助将不胜感激。谢谢。我的代码:
public class Main {
public static void main(String[]args){
WindowLogin.openWindow();
}
}
public class Database {
public static String[] userAdmin = {"admin","admin","10"}; //Username password clearance
public static String[] userAlexander = {"Alexander","1234","1"}; //Same stuff here
}
import javax.swing.*;
import java.awt.*;
public class WindowLogin {
public static void openWindow(){
JFrame f = new JFrame("Login");
JTextField userName = new JTextField(20);
JPasswordField password = new JPasswordField();
JPanel info = new JPanel(new GridLayout(2,1,5,5));
JPanel lnPanel = new JPanel(new GridLayout(1,1,5,5));
JButton lnButton = new JButton("Log in");
info.add(userName);
info.add(password);
lnPanel.add(lnButton);
f.setLayout(new FlowLayout());
f.setResizable(false);
f.add(info);
f.add(lnPanel);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setVisible(true);
}
}
答案 0 :(得分:1)
这就是你如何实现这一目标的。
String inputUserName = userName.getText(); //assign the user's input username
String inputPassword = password.getText(); //assign the user's input password
if(inputUserName.equals(userAdmin[0]) && inputPassword.equals(userAdmin[1])){
System.out.println("Welcome Admin!");
}else if(inputUserName.equals(userAlexander [0]) && inputPassword.equals(userAlexander[1])){
System.out.println("Welcome Alexander!");
}else{
System.out.println("Unauthorized access");
}
另外,建议您创建用户类型以捆绑用户相关信息,而不是使用数组。
答案 1 :(得分:1)
首先,创建对象用户
class User{
String username;
String password;
boolean isAdmin;
public User(String username, String password,boolean isAdmin){
this.username=username;
this.password=password;
this.isAdmin=isAdmin;
}
//setters and getters;
}
第二,将您的用户放在列表中,但放在地图Map<String,User> userMap
中,其中key将是用户名,因此当sb将登录到系统时,
public int logIn(String username, String password)
{
User user = userMap.get(username);
if (user==null
{
//No User with given username, return error code 1;
return 1;
}
if (password==user.getPassword().equals(password))
{
//password correct, error code - no error
return 0;
}
//password incorrect return error code 2
return 2
}
现在我们所需要的只是初始化database
class Database {
Map<String,User> userMap = new HashMap();
{
User admin = new User("admin","admin",true);
User alex= new User("Alexander","1234",false);
userMap.put(admin.getName(),admin);
userMap.put(alex.getName(),alex);
}
}