问题描述
- java中用集合写一个简单的登录功能。麻烦大家看一看
-
//这是注册的方法
public static void reg(){
Collection id=new ArrayList();//账户
Collection passWord=new ArrayList();//密码
Scanner sc=new Scanner(System.in);
System.out.println("请输入账号:");
id.add(sc.next());
System.out.println("请输入密码:");
passWord.add(sc.next());
Object[]ob=id.toArray();
Object[] ob2=passWord.toArray();
System.out.print("账户:");
for(int i=0;i<ob.length;i++){
System.out.print(ob[i]);
}
System.out.print(" 密码:");
for(int j=0;j<ob2.length;j++){
System.out.print(ob2[j]);
}if(id.toString()==ob.toString()){ System.out.println("请重新输入,该账号已被注册"); } } //这是登录的方法 public class Login{ public void login(){ Scanner sc=new Scanner(System.in); Collection id=new ArrayList(); Collection passWord=new ArrayList(); System.out.println("请输入账户名:"); id.add(sc.next()); System.out.println("请输入密码:"); passWord.add(sc.next()); }
}
就是不知道怎么让注册集合中的数跟登录类进行比较题目如下:
第一步: 提示用户选择功能, A(注册) B(登陆) 。 要求: 功能选择 的时候要忽略大小写。注册:
1. 提示用户输入注册的账号(数字)与密码,如果输入的id号已经存在集合中,提示用户重新输入。 注册完毕之后,把集合中的所有用户信息打印出来。(使用:toArrry()方法)登陆:
提示用户输入登陆的账号与密码,如果账号与密码这个用户已经存在集合中,那么登陆成功,否则登陆失败。麻烦大家了,谢谢!!!
解决方案
Collection id=new ArrayList();//账户
Collection passWord=new ArrayList();//密码
这两行加上static放在函数外面,作为局部变量
public void login(){
Scanner sc=new Scanner(System.in);
System.out.println("请输入账户名:");
String s1 = sc.next();
System.out.println("请输入密码:");
String s2 = sc.next();
Boolean b = false;
for (int i = 0; i < id.length; i++)
{
if (id[i].equals(s1) && passWord[i].equals(s2)) { b = true; break; }
}
if (b) System.out.println("登录正确"); else System.out.println("登录失败");
}
解决方案二:
同意楼上。正解。。。
时间: 2024-09-11 03:09:11