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 Odoo17操作下面代码的模块时出现没有'读取'来访问
- ¥50 .net core 并发调用接口问题
- ¥15 网上各种方法试过了,pip还是无法使用
- ¥15 用verilog实现tanh函数和softplus函数
- ¥15 Hadoop集群部署启动Hadoop时碰到问题
- ¥15 求京东批量付款能替代天诚
- ¥15 slaris 系统断电后,重新开机后一直自动重启
- ¥15 QTableWidget重绘程序崩溃
- ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
- ¥15 关于vue2中methods使用call修改this指向的问题