用Java创建用户配置文件的最佳方法

用Java创建用户配置文件的最佳方法,java,Java,现在我有一个运行银行应用程序的单类程序 我来自JS背景,不熟悉Java 我基本上创建了一个: User username = new User(Double startingMoney, String fName, String lName, String userName, String passWord); 然后你会做一些事情,比如: username.setBalance(Double balanceAmt); or username.getBalance(); 问题是,我不知道如何

现在我有一个运行银行应用程序的单类程序

我来自JS背景,不熟悉Java

我基本上创建了一个:

User username = new User(Double startingMoney, 
String fName, String lName, String userName, String passWord);
然后你会做一些事情,比如:

username.setBalance(Double balanceAmt); or username.getBalance();
问题是,我不知道如何命名对象。我希望我的程序允许用户注册一个新的用户帐户,并使他们拥有的用户名成为对象的名称

在JS中,可以使用字符串作为对象变量名

我甚至不确定这是否是创建新用户的正确方法。我甚至不确定以后如何引用特定对象来为用户设置平衡

IE:我有两个用户。。。因此,两个用户对象。。。一个约翰和一个贝蒂

如果贝蒂目前已经登录,我不知道该如何称呼贝蒂。setBalance(20.00)


有什么建议或方向吗?谢谢。

首先创建一个类,然后为该类创建两个对象

class User {

//Constructor
User(Double startingMoney, String fName, String lName, String userName, String passWord) {
this.startingMoney=startingMoney;
this.fName=fName;
this.lName=lName; 
this.userName=userName;
this.passWord=passWord;
}
double startingMoney;
String fName;
String lName; 
String userName;
String passWord;
}


User john = new User(..Values.); //pass arguments related to john
User betty= new User(..Values.); //pass arguments related to betty

john.getLName();  
betty.setPassword("pass");


in java you cant create a runtime variable; better do this way
whenever user is arrived; use a Map
Map.add("userName", new User(...Values..)); //userName as key
then get that object like Map.get("userName")

一种方法是使用地图。其中,您将使用名称作为键,而值将是用户对象

Map <String, User> users = new Hashmap<String, User>();
users.put("betty", new User(...));
users.get("betty").setBalance(20.00);
Map users=newhashmap();
用户。放置(“贝蒂”,新用户(…);
用户获取(“贝蒂”).setBalance(20.00);

应创建类用户。通常的二传手和接球手都可以做。但是,要按要求进行实例化,可以在实例化对象时在参数中给出参数。我为这个类添加了2个构造函数作为示例

     public class User
{
    private double startingMoney;
    private String firstName;
    private String lastName;
    private String username;
    private String password;

    private static int count = 0; // number of objects in memory

    // initialize user, add 1 to static count and
     // output String indicating that constructor was called
     public User( String first, String last )
     {
        firstName = first;
        lastName = last;

        count++; // increment static count of Users
        System.out.printf( "User constructor: %s %s; count = %d\n",
           firstName, lastName, count );
     } // end User constructor


     private double startingMoney;
    private String firstName;
    private String lastName;
    private String username;
    private String password;


     //another constructer 
     public User( Double sMoney, String first, String last, String name, String pass)
     {
        startingMoney = sMoney
        firstName = first;
        lastName = last;
        username = name;
        password = pass;

        count++; // increment static count of Users
        System.out.printf( "User constructor: %s %s; count = %d\n",
           firstName, lastName, count );
     } // end User constructor


     // subtract 1 from static count when garbage
     // collector calls finalize to clean up object;
     // confirm that finalize was called
     protected void finalize()
     {
        count--; // decrement static count of users
        System.out.printf( "User finalizer: %s %s; count = %d\n",
           firstName, lastName, count );
     } // end method finalize

   // set first name
     public String setFirstName(String firstName)
     {
        this.firstName = firstName;
     } // end method setFirstName

     // set last name
     public String setLastName(String lastName)
     {
        this.lastName = lastName;
     } // end method setLastName

    // set user name
     public String setUserName(String name)
     {
        this.username = name;
     } // end method setUserName

     // set password
     public String setPassword(String password)
     {
        this.password = password;
     } // end method setPassword






     public String getStartingName()
     {
        return startingName;
     } // end method getstartingName


    // get username
     public String getUserName()
     {
        return username;
     } // end method getUserName

     // get password
     public String getPassword()
     {
        return password;
     } // end method getPassword

    // get first name
     public String getFirstName()
     {
        return firstName;
     } // end method getFirstName

     // get last name
     public String getLastName()
     {
        return lastName;
     } // end method getLastName

     // static method to get static count value
     public static int getCount()              
     {                                         
        return count;                          
     } // end method getCount

}

您可能想做的是签出一些现有的用户管理框架(比如ApacheShiro)。如果你想自己写,你必须做一些关于用户会话、授权和认证、密码等的阅读,并且因为它是一个银行应用程序,你必须考虑浮点运算精度。我想我应该说这是一个业余的最终项目。也许下学期我会尝试所有这些,让我的应用程序保持原样。我想出来了,非常感谢!我没有使用currentUser=jtfUsername.getText();跟踪哪个用户已登录。然后是你的users.put(currentUser)和users.get(currentUser)来创建用户并从他们那里获取信息。我不确定这将如何允许我有多个用户。似乎每次我创建一个新用户时,它都会覆盖以前的用户设置。