我在我原来写的学生管理系统的基础上增加了用户的登录功能,注册了之后登录成功了,才能进行,学生的信息管理,同时在每个功能的实现还加入了一些条件,我懒得细说了,最近考完试了,才把这个之前遗留下来的初学项目弄完。
学生类:
public class student {
private String name;
private String id;
private String address;
public student() {
}
public student(String name, String id, String address) {
this.name = name;
this.id = id;
this.address = address;
}
/**
* 获取
* @return name
*/
public String getName() {
return name;
}
/**
* 设置
* @param name
*/
public void setName(String name) {
this.name = name;
}
/**
* 获取
* @return id
*/
public String getId() {
return id;
}
/**
* 设置
* @param id
*/
public void setId(String id) {
this.id = id;
}
/**
* 获取
* @return address
*/
public String getAddress() {
return address;
}
/**
* 设置
* @param address
*/
public void setAddress(String address) {
this.address = address;
}
public String toString() {
return "student{name = " + name + ", id = " + id + ", address = " + address + "}";
}
}
用户类:
public class User {
private String name;
private String password;
private String ID;
private String phonenumber;
public User() {
}
public User(String name, String password, String ID, String phonenumber) {
this.name = name;
this.password = password;
this.ID = ID;
this.phonenumber = phonenumber;
}
/**
* 获取
* @return name
*/
public String getName() {
return name;
}
/**
* 设置
* @param name
*/
public void setName(String name) {
this.name = name;
}
/**
* 获取
* @return password
*/
public String getPassword() {
return password;
}
/**
* 设置
* @param password
*/
public void setPassword(String password) {
this.password = password;
}
/**
* 获取
* @return ID
*/
public String getID() {
return ID;
}
/**
* 设置
* @param ID
*/
public void setID(String ID) {
this.ID = ID;
}
/**
* 获取
* @return phonenumber
*/
public String getPhonenumber() {
return phonenumber;
}
/**
* 设置
* @param phonenumber
*/
public void setPhonenumber(String phonenumber) {
this.phonenumber = phonenumber;
}
public String toString() {
return "User{name = " + name + ", password = " + password + ", ID = " + ID + ", phonenumber = " + phonenumber + "}";
}
}
源码:
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
public class system {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList<student> s = new ArrayList<>();
ArrayList<User> d =new ArrayList<>();
User u1=new User("qinluoyu06","qly123456789","452224200009034016","18278227871");
d.add(u1);
boolean x=true;
while (x){
sign_main();
int c=sc.nextInt();
switch (c){
case 1:
if (sign(d)){
xueshengxitong(s);
}
break;
case 2:
NEW(d);
break;
case 3:
forget_password(d);
break;
case 4:
x=false;
break;
default:
System.out.println("没有这个选项");
break;
}
}
}
public static void jiemian(){
System.out.println("----------kinroy学生管理系统----------");
System.out.println("1:添加学生信息");
System.out.println("2:删除学生信息");
System.out.println("3:修改学生信息");
System.out.println("4:查询学生信息");
System.out.println("5:退出系统");
System.out.println("请输入序号开始操作:");
}
public static void add_student(ArrayList<student>s){
Scanner sc=new Scanner(System.in);
student stu=new student();
System.out.println("请输入学生的id:");
String s1=sc.next();
stu.setId(s1);
//判断学号是否唯一
for (int i = 0; i < s.size(); i++) {
if (stu.getId().equals(s.get(i).getId())){
System.out.println("您输入的id已存在,请重新输入:");
add_student(s);
return;
}
}
System.out.println("请输入学生的姓名:");
String s2=sc.next();
stu.setName(s2);
System.out.println("请输入学生的住址:");
String s3=sc.next();
stu.setAddress(s3);
s.add(stu);
}
public static void del_student(ArrayList<student>s){
Scanner sc=new Scanner(System.in);
System.out.println("请输入要删除的学生id:");
String id=sc.next();
for (int i = 0; i < s.size(); i++) {
if (s.get(i).getId().equals(id)){
s.remove(i);
System.out.println("删除成功!");
return;
}
}
System.out.println("你输入的id不存在");
}
public static void mod_student(ArrayList<student>s){
Scanner sc=new Scanner(System.in);
System.out.println("请输入要修改信息的学生的ID:");
String mod=sc.next();
for (int i = 0; i < s.size(); i++) {
if (s.get(i).getId().equals(mod)){
System.out.println("修改id---扣1 修改名字---扣2 修改地址---扣3 全部要改---扣4");
int n= sc.nextInt();
switch (n){
case 1:
System.out.println("请输入新id:");
String id=sc.next();
s.get(i).setId(id);
System.out.println("修改成功!");
break;
case 2:
System.out.println("请输入新名字:");
String name= sc.next();
s.get(i).setName(name);
System.out.println("修改成功!");
break;
case 3:
System.out.println("请输入新地址:");
String addres=sc.next();
s.get(i).setAddress(addres);
System.out.println("修改成功!");
break;
case 4:
System.out.println("请输入新id:");
String id1=sc.next();
s.get(i).setId(id1);
System.out.println("请输入新名字:");
String name1= sc.next();
s.get(i).setName(name1);
System.out.println("请输入新地址:");
String addres1=sc.next();
s.get(i).setAddress(addres1);
System.out.println("修改成功!");
break;
}
return;
}
}
System.out.println("您输入的id不存在");
}
public static void chack_student(ArrayList<student>s){
Scanner sc=new Scanner(System.in);
System.out.println("显示所以学生信息---扣1 查询单个学生信息---扣2");
int n= sc.nextInt();
switch (n){
case 1:
System.out.println("ID 姓名 住址 ");
System.out.println("----------------------------------------");
for (int i = 0; i < s.size(); i++) {
System.out.println(s.get(i).getId()+" "+s.get(i).getName()+" "+s.get(i).getAddress());
}
return;
case 2:
System.out.println("输入你要查询的学生ID:");
String id=sc.next();
for (int j = 0; j < s.size(); j++) {
if (s.get(j).getId().equals(id)){
System.out.println("ID 姓名 住址 ");
System.out.println("----------------------------------------");
System.out.println(s.get(j).getId()+" "+s.get(j).getName()+" "+s.get(j).getAddress());
}
}
return;
}
}
public static void sign_main(){
System.out.println("---------欢迎来到kinroy学生管理系统---------");
System.out.println("请选择操作:");
System.out.println("1:登录 2:注册 3:忘记密码");
}
public static void NEW(ArrayList<User>d){
Scanner sc=new Scanner(System.in);
User u=new User();
System.out.println("请输入弄要创建的用户名:");
String name= sc.next();
if (name.length()>15||name.length()<3){
System.out.println("用户名超出最大限度!");
NEW(d);
return;
}
char []arr=name.toCharArray();
int n=0;
for (int i = 0; i < arr.length; i++) {
if (arr[i]<='9'&&arr[i]>='0'){
n++;
}
}
if (n==name.length()){
System.out.println("用户名不能全为数字!");
NEW(d);
return;
}
for (int i = 0; i < d.size(); i++) {
if (d.get(i).getName().equals(name)){
System.out.println("你输入的用户名已存在!");
NEW(d);
return;
}
}
u.setName(name);
String password1=new String();
boolean c=false;
while (!c){
System.out.println("请输入你的密码:");
String password=sc.next();
System.out.println("请再次输入你的密码:");
String repassword=sc.next();
if (password.equals(repassword)){
password1=password;
}
else{
System.out.println("你前后输入的密码不一致");
}
c=password.equals(repassword);
}
u.setPassword(password1);
String id=new String();
id=id(id);
u.setID(id);
String phonenumber=new String();
phonenumber=phonenumber(phonenumber);
u.setPhonenumber(phonenumber);
d.add(u);
}
public static String id(String id){
Scanner sc=new Scanner(System.in);
System.out.println("请输入你的身份证:");
String id1=sc.next();
if (id1.length()!=18){
System.out.println("你输入的身份证有误1");
id(id);
}
if (id1.charAt(0)=='0'){
System.out.println("你输入的身份证有误2");
id(id);
}
char[]arr=id1.toCharArray();
for (int i = 0; i < arr.length-1; i++) {
if (arr[i]>'9'||arr[i]<'0'){
System.out.println("你输入的身份证有误3");
id(id);
}
}
if (id1.charAt(17)>'9'&&id1.charAt(17)<'0'){
System.out.println("你输入的身份有误4");
id(id);
}
id=id1;
return id;
}
public static String phonenumber(String phonenumber){
Scanner sc=new Scanner(System.in);
System.out.println("请输入你的手机号码:");
String phone1=sc.next();
if (phone1.length()!=11){
System.out.println("你输入的手机号码有误");
phonenumber(phonenumber);
}
if (phone1.charAt(0)=='0'){
System.out.println("你输入的手机号码有误");
phonenumber(phonenumber);
}
char[]arr=phone1.toCharArray();
for (int i = 0; i < arr.length; i++) {
if (arr[i]>'9'||arr[i]<'0'){
System.out.println("你输入的手机号码有误");
phonenumber(phonenumber);
}
}
phonenumber=phone1;
return phonenumber;
}
public static boolean sign(ArrayList<User>d){
Scanner sc=new Scanner(System.in);
System.out.println("用户名:");
String name=sc.next();
System.out.println("密码:");
String password= sc.next();
for (int i = 0; i < d.size(); i++) {
if (d.get(i).getName().equals(name)){
boolean c=check_password(password,d.get(i).getPassword());
return c;
}
}
System.out.println("用户名不存在,请先注册");
return false;
}
public static boolean check_password(String password,String real){
Scanner sc=new Scanner(System.in);
if (real.equals(password)==true){
System.out.println("密码正确");
return true;
}
else if (real.equals(password)==false){
System.out.println("你输入的密码有误!");
for (int i = 3; i >0 ; i--) {
System.out.println("你还有"+i+"次机会"+",请重新输入密码:");
String p= sc.next();
if (p.equals(real)){
return true;
}
}
}
return false;
}
public static void xueshengxitong(ArrayList<student>s){
Scanner sc=new Scanner(System.in);
boolean c=true;
while (c) {
jiemian();
int n = sc.nextInt();
switch (n) {
case 1:
add_student(s);
System.out.println("录入完成!");
break;
case 2:
del_student(s);
break;
case 3:
mod_student(s);
break;
case 4:
chack_student(s);
break;
case 5:
c=false;
break;
}
}
}
public static void forget_password(ArrayList<User>d){
Scanner sc=new Scanner(System.in);
System.out.println("请输入你的用户名:");
String name=sc.next();
System.out.println("请输入你注册时的电话号码:");
String number=sc.next();
for (int i = 0; i < d.size(); i++) {
if (d.get(i).getName().equals(name)&&d.get(i).getPhonenumber().equals(number)){
System.out.println("输入你的新密码:");
String new_password=sc.next();
d.get(i).setPassword(new_password);
return;
}
}
System.out.println("你输入的信息有误!");
}
}
写得有一点乱,但是功能实现了。