用Java创建用户配置文件的最佳方法
现在我有一个运行银行应用程序的单类程序 我来自JS背景,不熟悉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(); 问题是,我不知道如何
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)来创建用户并从他们那里获取信息。我不确定这将如何允许我有多个用户。似乎每次我创建一个新用户时,它都会覆盖以前的用户设置。