完善或来个更简洁的。登录出现了问题,感觉写的不简洁,很冗余,希望能改良一下并纠正错误。
package Exam_3;
import java.util.Scanner;
public class Exam_3 {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
boolean QZX=true;//用于开始和结束循环
loinsystem account_1=new loinsystem();
//用于计数
int zonghe=0;
//界面
while(QZX){
System.out.println("*************************");
System.out.println("1.登录");
System.out.println("2.注册");
System.out.println("3.安全退出");
System.out.println("*************************");
System.out.println("请输入数字,选择功能:");
int input= scan.nextInt();
if(input==1){
account_1.login(zonghe);
}else if(input==2){
zonghe++;
//每注册一个账户都会分配一个在String[][] allAccount 新位置
account_1.register(zonghe);
}
//退出功能
else if(input==3){
System.out.println("是否要退出登录系统?YES");
String quit=scan.next();
if("YES".equals(quit)){
QZX=false;
System.out.println("用户已退出,程序已关闭!");
break;
}else {
QZX=true;
}}}}}
class loinsystem {
// 用户数量和用户的账户和密码存储
String[][] allAccount = new String[100][2];
// 注册
public void register(int xinyonghu) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入账号名");
//String account用于接受用户输入的账号
String account = scanner.next();
System.out.println("请输入密码");
//String password用于接受用户输入的密码
String password = scanner.next();
//储存用户的账号密码
allAccount[xinyonghu][0] = account;
allAccount[xinyonghu][1] = password;
//提示注册成功
System.out.println("注册成功!");
System.out.println("\n");
}
public void login(int zonghe) { Scanner scanner = new Scanner(System.in);
System.out.println("请输入账号名");
//String account用于接受用户输入的账号
String account = scanner.next();
System.out.println("请输入密码");
//String password用于接受用户输入的密码
String password = scanner.next();
if (account==allAccount[zonghe][0]){
System.out.println("登陆成功");
}else System.out.println("登陆失败");
}
}