package StudentMannager;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentDemo {
public static void main(String []args ) {
ArrayList<Student> array=new ArrayList<Student>();
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.println("请输入你的选择:");
Scanner sc=new Scanner (System.in);
String line =sc.nextLine();
switch(line) {
case "1":{
addStudent(array);
break;
}
case "2":{
deleteStudent(array);
break;
}
case "3":{
updateStudent(array);
break;
}
case "4":{
findAllStudent(array);
break;
}
case "5":{
System.out.println("谢谢使用!");
System.exit(0);
}
}
sc.close();
}
}
public static void addStudent(ArrayList<Student> array) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入学生学号:");
String sid=sc.nextLine();
System.out.println("请输入学生姓名:");
String name=sc.nextLine();
System.out.println("请输入学生年龄:");
String age=sc.nextLine();
System.out.println("请输入学生居住地:");
String address=sc.nextLine();
Student s=new Student();
s.setSid(sid);
s.setName(name);
s.setAge(age);
s.setAddress(address);
array.add(s);
System.out.println("添加学生成功!");
sc.close();
}
public static void findAllStudent(ArrayList<Student> array) {
if(array.size()==0) {
System.out.println("无信息,请先添加信息再查询!");
}
else {
System.out.println("学号\t\t\t姓名\t\t年龄\t\t居住地");//\t即为tab
for(int i=0;i<array.size();i++) {
Student s=array.get(i);
System.out.println(s.getSid()+"\t"+s.getName()+"\t"+s.getAge()+"岁\t\t"+s.getAddress());
}
}
}
public static void deleteStudent(ArrayList<Student> array) {
Scanner sc=new Scanner (System.in);
System.out.println("请输入你要删除的学生学号");
String sid=sc.nextLine();
for(int i=0;i<array.size();i++) {
Student s=array.get(i);
if(s.getSid().equals(sid)) {
array.remove(i);
break;
}
}
System.out.println("删除学生成功!");
sc.close();
}
public static void updateStudent(ArrayList<Student> array) {
System.out.println("请输入要修改的学生学号:");
Scanner sc=new Scanner (System.in);
String sid=sc.nextLine();
System.out.println("请输入学生新姓名:");
String name=sc.nextLine();
System.out.println("请输入学生新年龄:");
String age=sc.nextLine();
System.out.println("请输入学生新居住地址:");
String address=sc.nextLine();
Student s=new Student ();
s.setSid(sid);
s.setName(name);
s.setAge(age);
s.setAddress(address);
for(int i=0;i<array.size();i++) {
Student student=array.get(i);
if(student.getSid().equals(sid)) {
array.set(i, s);
break;
}
}
System.out.println("修改学生成功!");
sc.close();
}
}
为什么不能进行循环?报错在第18行,显示java.util.NoSuchElementException: No line found
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 云丶言 2021-10-28 21:18关注
将
sc.close()
注释掉即可,由于你这一行代码关闭System.in
了导致下一次循环时无法使用输入操作本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 PADS Logic 原理图
- ¥15 PADS Logic 图标
- ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
- ¥20 气象站点数据求取中~
- ¥15 如何获取APP内弹出的网址链接
- ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
- ¥50 STM32单片机传感器读取错误
- ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)
- ¥15 机器人轨迹规划相关问题
- ¥15 word样式右侧翻页键消失