Java - 在 ArrayList 中存储名称并使用它来登录
Posted
技术标签:
【中文标题】Java - 在 ArrayList 中存储名称并使用它来登录【英文标题】:Java - Storing Names in ArrayList and Using it to Login 【发布时间】:2016-05-29 04:36:47 【问题描述】:我有一项任务要做,其中包括要求用户输入他们的姓氏并为用户提供一个帐号以登录该程序。我列出了以下可能更有意义的步骤。
1) 用户创建帐户
2) 用户输入他们的姓氏(存储到数组列表中)
3) 给用户一个帐号(存储到数组列表中)
4) 然后用户可以使用他们的姓氏和帐号登录(检查数组列表中的姓氏和帐号,如果匹配则登录消息,如果不匹配则错误消息)
用户输入他们的姓氏并获得一个帐号,然后他们可以使用该帐号登录进行存款、取款和查看余额。
如何在不使用数据库的情况下创建一个程序来做到这一点?
帐户类别
private static int number = 500;
Account()
accountNumber = number++;
创建帐户
public void createAccount()
String firstName;
System.out.print("Please Enter Last Name: ");
lastName = scanner.nextLine();
System.out.println("This is your Account Number to log into: " + _______ );
public void logIn()
System.out.println("Please enter your last name: ");
System.out.println("Please enter your account number: ");
【问题讨论】:
您可以提出问题,但您要求完成整个任务!!!!! Noooo,我尝试使用 arraylist 并将其放在另一个类中,然后我尝试搜索特定名称,但我似乎无法让它工作 请发布您尝试过的代码 它不起作用,我删除了它。 =( 【参考方案1】:我假设您需要能够在执行完成后保留此信息,这意味着您需要将信息存储在正在运行的程序之外的某个地方。
在我的脑海中,您可以使用一个文件来存储此信息存储,其中文件的每一行将等于姓氏 - 帐户的匹配。打开程序时,您读取文件。尝试阅读:
http://www.tutorialspoint.com/java/java_files_io.htm 或 https://docs.oracle.com/javase/tutorial/essential/io/file.html解决方案类似于使用数据库,所以我不知道它是否会这样做。希望是的。
【讨论】:
我想在不使用数据库的情况下做到这一点【参考方案2】:这里不是完整的答案,而是一些建议......
您可以创建一个“银行”类...它可能包含帐户的数组列表,还包含 创建帐户()
delAccount()
findAccount()...
以此类推
发布此消息后,我现在看到这是一个答案,我的坏人
【讨论】:
【参考方案3】:我想建议另一种使用 xml 存储凭据的方法,请按照以下步骤操作
protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
string username;
string pwd;
string CurrentUser = "";
string CurrentPwd = "";
bool LoginStatus = false;
username = Login1.UserName;
pwd = Login1.Password;
XmlDocument xmxdoc = new XmlDocument();
xmxdoc.Load(Server.MapPath("Register.xml"));
XmlNodeList xmlnodelist = xmxdoc.GetElementsByTagName("user");
foreach (XmlNode xn in xmlnodelist)
XmlNodeList xmlnl = xn.ChildNodes;
foreach (XmlNode xmln in xmlnl)
if (xmln.Name == "Name")
if (xmln.InnerText == username)
CurrentUser = username;
if (xmln.Name == "Password")
if (xmln.InnerText == pwd)
CurrentPwd = pwd;
if ((CurrentUser != "") & (CurrentPwd != ""))
LoginStatus = true;
if (LoginStatus == true)
Session["UserAuthentication"] = username;
Session.Timeout = 1;
Response.Redirect("welcome.aspx");
else
Session["UserAuthentication"] = "";
在您的 xml 文件中
<user>
<Name>smashcode</Name>
<Password>smashcode</Password>
</user>
我想这会比数组列表方法更好
如果您想尝试使用arraylist,请按照以下步骤操作
step1:username_listuesr1,user2,user3
password_Listpass1,pass2,pass3
步骤:循环检查所有输入用户名和密码的条目,如下所示
int flag = 0;
while(username_list.get(i)!=null)
if((username_list.get(i).equals(enteredusername))&&((password_list.get(i).equals(enteredpassword)))
flag = 1;
if(flag==1)
System.out.println("login successful ");
Response.Redirect("welcome.aspx");
I had written second code implementation in cut short
希望我的工作会有所帮助。继续编码
【讨论】:
以上是关于Java - 在 ArrayList 中存储名称并使用它来登录的主要内容,如果未能解决你的问题,请参考以下文章
JAVA编程题目: ArrayList存储任意三个字符串,并遍历(迭代器遍历)
java 16 -11 ArrayList存储自定义对象并增强for遍历