简单介绍
-
变量与数组:代码中使用了基本数据类型变量(如int)和引用类型变量(如String),以及对应的数组来存储数据。
-
循环:代码中大量使用了
while
循环和for
循环来执行重复的操作。 -
条件语句:
if
和else if
被用于在不同条件下执行不同的操作。 -
方法:
main
方法是程序的入口点,所有的操作都在这个方法中执行。 -
类:
Longxi
类包含了所有的代码。在Java中,所有的代码都需要包含在类中。 -
输入/输出操作:使用
System.out.println
方法进行输出,使用Scanner
类进行输入。 -
字符串操作:使用了
String.equals
方法比较字符串,使用equalsIgnoreCase
方法比较字符串忽略大小写。 -
数组操作:使用了
System.arraycopy
方法复制数组。 -
错误处理:对用户输入进行验证,如果用户输入错误,给出相应提示。
-
类型转换:例如,用户输入的字符串被转换为整数。
代码
import java.util.Scanner;
public class Longxi {
// 存储用户名和密码
static String name[] = new String[3];
static String passwd[] = new String[3];
// 任务 1:增加一个数组用来存储用户的年龄
static int ages[] = new int[3];
static int index = 0;
static int chance = 3;//定义此变量用于限制用户输入密码次数在三次以内
public static void main(String[] args) {
name[0] = "longxi";
passwd[0] = "123456";
ages[0] = 18; // 默认年龄
while (true) {
System.out.println("--------------------欢迎使用贵州工商职业学院学生管理系统 --------------------");
System.out.println("--------------------请选择 --------------------");
System.out.println(" 1.登录学生管理系统");
System.out.println(" 2.注册功能 ");
System.out.println(" 3.查看所有用户");
System.out.println(" 0.退出 ");
Scanner scan = new Scanner(System.in);
System.out.println("请选中功能:");
String str = scan.next();
if (str.equals("1")) {
while (true){
Scanner scan1 = new Scanner(System.in);
System.out.println("请输入用户名:");
String str1 = scan1.next();
Scanner scan2 = new Scanner(System.in);
System.out.println("请输入密码:");
String str2 = scan2.next();
boolean isHave = false;
for (int i1 = 0; i1 < passwd.length; i1++) {
if (str1.equals(name[i1]) && str2.equals(passwd[i1])) {
isHave = true;
}
}
if (isHave == true) {
System.out.println("登录成功!");
chance = 3; //重置试错机会
break;
}else {
chance--;
if(chance == 0){
System.out.println("您的账号尝试超过 3 次,已被锁定,请联系管理员!");
break;
}else{
System.out.println("登录失败,您还有 " + chance + " 次机会!是否继续登录?继续请输入 y,输入其他字符则退出");
String decision = scan.next();
if(!decision.equalsIgnoreCase("y")){
break;
}
}
}
}
} else if (str.equals("2")) {
Scanner scan1 = new Scanner(System.in);
System.out.println("请输入用户名:");
String str1 = scan1.next();
Scanner scan2 = new Scanner(System.in);
System.out.println("请输入密码:");
String str2 = scan2.next();
// 任务 1:提示用户输入年龄
System.out.println("请输入年龄:");
int age = scan1.nextInt();
boolean flag = true;
for (int i = 0; i < name.length; i++) {
if(name[i] != null && name[i].equals(str1)) {
System.out.println("用户已存在!");
flag = false;
break;
}
}
if (flag == true) {
index++;
if (index < name.length) {
name[index] = str1;
passwd[index] = str2;
ages[index] = age; // 添加数据到年龄数组
System.out.println("注册成功!");
} else {
String newarray1[] = new String[name.length + 3];
String newarray2[] = new String[name.length + 3];
int newarray3[] = new int[ages.length + 3]; // 增加年龄数组长度
System.arraycopy(name, 0, newarray1, 0, name.length);
System.arraycopy(passwd, 0, newarray2, 0, passwd.length);
System.arraycopy(ages, 0, newarray3, 0, ages.length); // 复制年龄数组数据
name = newarray1;
passwd = newarray2;
ages = newarray3; // 年龄数组长度已增加
for (int i = 0; i < name.length; i++) {
if (name[i] != null) {
System.out.println("用户名:" + name[i] + "," + "密码:" + passwd[i]+ "," + "年龄:" + ages[i] + "\n");
}
}
name[index] = str1;
passwd[index] = str2;
ages[index] = age; // 增加年龄数据
System.out.println("注册成功!");
}
}
} else if (str.equals("3")) {
for (int i = 0; i < name.length; i++) {
if (name[i] != null) {
System.out.println("用户名:" + name[i] + "," + "密码:" + passwd[i]+ "," + "年龄:" + ages[i] + "\n");
}
}
} else if (str.equals("0")) {
break;//退出就是结束运行
} else {
System.out.println("请输入正确的选项序号!");
}
}
}
}
运行截图
© 版权声明
免责声明:
本站提供的资源所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关。您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,得到更好的正版服务。侵删请致信 E-mail:2945314004@qq.com。
THE END
暂无评论内容