import java.util.Scanner;
public class Enter {
public static void main(String[] args) {
// TODO 自动生成的方法存根
String username="cc";
String password="1234";
boolean flag =true;
while(true){
System.out.println("欢迎使用学生登录系统");
System.out.println("学生管理系统");
System.out.println("1、注册");
System.out.println("2、登录");
System.out.println("3、修改");
System.out.println("4、查看");
System.out.println("0、退出");
System.out.println("学生管理系统");
System.out.println("请选择功能");
Scanner sc =new Scanner(System.in);
int choice=sc.nextInt();
switch (choice){
case 1:
System.out.println("请输入注册的账号:");
String name=sc.next();
if(name.equals(username)){
System.out.println("该账号已被注册!请重新输入:");
}else{
System.out.println("请输入要密码:");
String word=sc.next();
System.out.println("注册成功");
username=name;
password=word;
flag=false;
}
break;
case 2:
while(flag){
System.out.println("请输入账号:");
String name0=sc.next();
System.out.println("请输入要密码:");
String word=sc.next();
if(name0.equals(username)&&word.equals(password)){
System.out.println("登录成功");
}else{
System.out.println("登录失败");
flag=false;
}
}
break;
case 3:
System.out.println("请输入要修改的用户名");
String cc=sc.next();
System.out.println("请输入要修改的密码");
String bb=sc.next();
username=cc;
password=bb;
System.out.println("请输入修改的用户名:");
break;
case 4:System.out.println("当前账号为:"+username+"当前密码为:"+password);
break;
case 0:
System.out.print("退出系统!");
return;
default:System.out.print("输入错误请重新输入!");
break;
}
}
}
}
boolean flag = true 和while(true)这两行换个位置:
while(true){
boolean flag =true;
望采纳!!点击该回答右侧的“采纳”按钮即可采纳!!
兄弟你也没认真听课啊哈哈,我以前也是
我觉得可以创建一个名为 login 的方法,用于执行登录逻辑。这个方法应该接受两个参数:用户名和密码。
它还应该返回一个布尔值,表示登录是否成功
public static boolean login(String username, String password) {
System.out.println("请输入账号:");
String name = sc.next();
System.out.println("请输入密码:");
String pwd = sc.next();
if (name.equals(username) && pwd.equals(password)) {
System.out.println("登录成功");
return true;
} else {
System.out.println("登录失败");
return false;
}
}
}
然后你就可以在 main
方法中调用这个方法来实现登录逻辑,例如:
boolean success = login(username, password);
if (success) {
// 登录成功,执行其他操作
}
希望这些信息对你有帮助。
我看到你的程序出现了一个编译错误,错误信息是:
“Exception in thread "main" java.util.InputMismatchException”
这个错误是由于你在使用 Scanner 类的 nextInt() 方法读取用户输入时,用户输入的不是整数导致的。你可以尝试使用 Scanner 类的 nextLine() 方法来读取用户输入的字符串,然后再使用 Integer 类的 parseInt() 方法将字符串转换为整数。
例如,你可以改写你的代码如下:
Scanner sc = new Scanner(System.in);
System.out.println("请选择功能:");
String choiceStr = sc.nextLine();
int choice = Integer.parseInt(choiceStr);
这样就能避免出现“Exception in thread "main" java.util.InputMismatchException”这个错误了。
如何把他插入到学生信息管理系统里啊?求救
import java.util.ArrayList;
import java.util.Scanner;
public class Test {
//定义学生集合
static ArrayList<Student> students = new ArrayList<>();
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
while (true) {
show1();
int a = sc.nextInt();
if (a == 0){
break;
}
switch (a) {
case 1 -> show();//显示
case 2 -> add();//增加
case 3 -> delete();//删除
case 4 -> modify();//修改
case 5 -> search();//查询
case 6 -> sort();//排序
case 7 -> count();//统计
default -> System.out.println("请输入正确序号!");
}
}
}
public static void show1(){
System.out.println("-----进入学生信息管理系统-----");
System.out.println("-------1.显示学生信息-------");
System.out.println("-------2.增加学生信息-------");
System.out.println("-------3.删除学生信息-------");
System.out.println("-------4.修改学生信息-------");
System.out.println("-------5.查找学生信息-------");
System.out.println("-------6.按照成绩排序-------");
System.out.println("-------7.统计学生信息-------");
System.out.println("-------0.退出管理系统-------");
System.out.print("请选择功能编号:");
}
//显示学生信息
public static void show(){ //显示学生信息
System.out.println("----------------------------------学生信息表----------------------------------");
System.out.println("序号\t学号\t姓名\t性别\t年龄\t\t出生日期\t\t成绩");
for (int i = 0; i < students.size(); i++) {
final Student student = students.get(i);
System.out.println(i + 1 + "\t" + student.getId() + "\t" + student.getName() + "\t" + student.getSex() + "\t"
+student.getAge() + "\t\t" +student.getBirthday() + "\t" + student.getGrade());
}
}
//增加学生信息
public static void add(){
System.out.print("请输入您要添加学生的个数:");
int s = sc.nextInt();
for (int i = 0; i < s; i++) {
System.out.print("请输入您要添加的学号:");
String str = sc.next();
int count = 0;
for (final Student student : students) {
if (student.getId().equals(str)) {
System.out.println("已有此人!");
break;
}
count++;
}
if (count == students.size()){
System.out.print("姓名:");
String str1 = sc.next();
System.out.print("性别:");
String str2 = sc.next();
System.out.print("年龄:");
String str3 = sc.next();
System.out.print("出生日期(yyyy-mm-dd):");
String str4 = sc.next();
System.out.print("成绩:");
int str5 = sc.nextInt();
Student student = new Student(str,str1,str2,str3,str4,str5);
students.add(student);
System.out.println("添加成功!");
}
}
}
public static void delete(){ //删除学生信息
System.out.print("请输入您要删除的学号:");
String str = sc.next();
int a = students.size();
int count = 0;
for (int i = 0; i < students.size(); i++) {
final Student student = students.get(i);
if (student.getId().equals(str)){
students.remove(i);
System.out.println("删除成功!");
break;
}
count++;
}
if (count == a){
System.out.println("查无此人!");
}
}
public static void modify() { //修改学生信息
System.out.print("请输入您要修改的学号:");
String str = sc.next();
int count = 0;
for (final Student student : students) {
if (student.getId().equals(str)) {
while (true) {
System.out.println("------进入修改界面-----");
System.out.println("1.修改学生姓名");
System.out.println("2.修改学生性别");
System.out.println("3.修改出生日期");
System.out.println("4.修改学生年龄");
System.out.println("5.修改学生成绩");
System.out.print("请输入您要修改的选项:");
int a = sc.nextInt();
if (a == 1 || a == 2 || a == 3 || a == 4 || a == 5) {
System.out.print("修改为:");
String str0 = sc.next();
switch (a) {
case 1 -> student.setName(str0);
case 2 -> student.setSex(str0);
case 3 -> student.setBirthday(str0);
case 4 -> student.setAge(str0);
case 5 -> student.setGrade(Integer.parseInt(str0));
}
System.out.println("修改成功!");
break;
} else {
System.out.println("请输入正确的序号!");
}
}
break;
}
count++;
}
if (count == students.size()){
System.out.println("查无此人!");
}
}
public static void search(){ //查找学生信息
System.out.print("请输入您要查找的学号:");
String str = sc.next();
int count = 0;
for (final Student student : students) {
if (student.getId().equals(str)) {
System.out.println(student.getId() + "\t\t" + student.getName() + "\t\t\t" + student.getSex() + "\t\t\t"
+ student.getAge() + "\t\t\t" + student.getBirthday() + "\t\t" + "\t\t\t" + student.getGrade());
break;
}
count++;
}
if (count == students.size()){
System.out.println("查无此人!");
}
}
public static void sort(){ //按照成绩排序
int [][]grade = new int[students.size()][2];
for (int i = 0; i < students.size(); i++) {
final Student student = students.get(i);
grade[i][0] = student.getGrade();
grade[i][1] = i;
}
for (int i = 0; i < students.size(); i++) {
for (int j = 1; j < students.size() - i; j++) {
if (grade[j - 1][0] > grade[j][0]){
int a = grade[j][0];
grade[j][0] = grade[j - 1][0];
grade[j - 1][0] = a;
int c = grade[j][1];
grade[j][1] = grade[j - 1][1];
grade[j - 1][1] = c;
}
}
}
for (int i = students.size() - 1; i >= 0; i--) {
final Student student = students.get(grade[i][1]);
System.out.println(student.getId() + "\t\t" + student.getName() + "\t\t\t" + student.getSex() + "\t\t\t"
+ student.getAge() + "\t\t\t" + student.getBirthday() + "\t\t" + "\t\t\t" + student.getGrade());
}
}
public static void count(){ //统计学生总数
System.out.println("学生总人数为:" + students.size());
}
}
如果还没解决,就找我