简单实现学生信息添加、删除,修改、查询功能。根据需求,创建一个学生类和学生管理类,用容器存储学生信息,这里用到ArrayList<E>(ArrayList类是一个可动态修改的数组,使用之前需要导包import java.util.ArrayList;)
创建集合对象
ArrayList<E> 名 = new ArrayList<E>( ); {<E>是一种特殊的数据类型,泛型}
例:ArrayList<String> students = new ArrayList<String>( );
其中有如下方法:
add(element)将指定元素追加到集合末尾
add (int index,element) 在指定索引下添加元素
remove(element)删除指定元素
remove (int index)删除指定索引下的元素
set(int index,element)修改指定索引下的元素
get(int index)返回索引下的元素
size() 返回元素个数
学生类中应包含有学生姓名、年龄、学号、籍贯。
public class Student {
private String name;
private String age;
private String id;
private String adress;
public Student() {
}
public Student(String name, String age, String id, String adress) {
this.name = name;
this.age = age;
this.id = id;
this.adress = adress;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getAdress() {
return adress;
}
public void setAdress(String adress) {
this.adress = adress;
}
}
六种功能选择用switch语句实现
添加学生信息的方法
public static void adds(ArrayList<Student> student) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生姓名:");
String name = sc.nextLine();
System.out.println("请输入学生年龄:");
String age =sc.nextLine();
System.out.println("请输入学生学号:");
String id =sc.nextLine();
System.out.println("请输入学生地址:");
String adress =sc.nextLine();
Student students = new Student();//创建学生对象
students.setName(name);
students.setAge(age);
students.setId(id);
students.setAdress(adress); //将输入的值赋给学生对象的成员变量
student.add(students); //讲学生对象添加到集合中
System.out.println("添加学生信息成功");
}
删除学生信息的方法
public static void removes(ArrayList<Student> student){
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除学生的学号:");
String id = sc.nextLine();ugai用for循环遍历student集合找到与输入学号相同的学号从而找到对应学生类对象再用remove()方法删除 */
for(int i = 0;i < student.size();i++){
Student s = student.get(i);
//epuals()方法将字符串与指定对象进行比较,返回是否相同;
if(s.getId().equals(id)){
System.out.println("删除后无法恢复,是否要继续删除");
System.out.print("1:是\n2:否\n");
int a = sc.nextInt();
if(a==1) {
student.remove(i);
break;
}else{
break;
}
}
}
}
修改学生信息方法
public static void setOne(ArrayList<Student> student){
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 id =sc.nextLine();
System.out.println("请输入新的学生地址:");
String adress =sc.nextLine();
Student s = new Student();
s.setName(name);
s.setAge(age);
s.setId(id);
s.setAdress(adress);//输入要修改的信息并把它赋值给新的学生类对象
for(int i = 0;i < student.size();i++){
Student a = student.get(i);
if(a.getId().equals(sid)){
student.set(i,s);
/*通过equals()方法找到对应学生类对象再用set(int index,element)方法将旧的学生类对象修改为新的*/
break;
}
System.out.println("修改学生信息成功");
}
}
查询学生信息方法
public static void printAll(ArrayList<Student> student){
Scanner sc = new Scanner(System.in);
//先做判断,集合中是否有信息
if(student.size()==0){
System.out.println("无学生信息,请先添加学生信息");
System.out.println("请选择是否添加学生信息:");
System.out.println("1:添加学生信息\n2:退出\n");
int n = sc.nextInt();
switch (n){
case 1:
adds(student);
break;
case 2:
System.exit(0);
break;
default:
System.out.println("你的选择有误,请选择已存在的业务");
}
}else
{
//遍历集合
System.out.println("学生姓名\t年龄\t学号\t地址\t");
for(int i = 0;i < student.size();i++) {
Student s = student.get(i);
System.out.println(s.getName() + "\t" + s.getAge() + "岁\t" + s.getId() + "\t" + s.getAdress() + "\t");
}
}
}
学生管理类代码如下:
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManage {
public static void main(String[] args) {
ArrayList<Student> student= new ArrayList<Student>();
Scanner sc = new Scanner(System.in);
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("| 6:退出管理系统 |");
System.out.println("--------------------------------");
System.out.println("请选择要进行的业务:");
int n = sc.nextInt();
switch (n) {
case 1:
System.out.println("增加学生信息");
adds(student);
break;
case 2:
removes(student);
break;
case 3:
setOne(student);
break;
case 4:
printOne(student);
break;
case 5:
printAll(student);
break;
case 6:
System.exit(0);
break;
default:
System.out.println("你的选择有误,请选择现有的业务");
}
}
}
//增加学生信息方法
public static void adds(ArrayList<Student> student){
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生姓名:");
String name = sc.nextLine();
System.out.println("请输入学生年龄:");
String age =sc.nextLine();
System.out.println("请输入学生学号:");
String id =sc.nextLine();
System.out.println("请输入学生地址:");
String adress =sc.nextLine();
Student students = new Student();
students.setName(name);
students.setAge(age);
students.setId(id);
students.setAdress(adress);
student.add(students);
System.out.println("添加学生信息成功");
}
//删除学生信息
public static void removes(ArrayList<Student> student){
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除学生的学号:");
String id = sc.nextLine();
for(int i = 0;i < student.size();i++){
Student s = student.get(i);
if(s.getId().equals(id)){
System.out.println("删除后无法恢复,时候要继续删除");
System.out.print("1:是\n2:否\n");
int a = sc.nextInt();
if(a==1) {
student.remove(i);
break;
}else{
break;
}
}
}
}
//修改学生信息
public static void setOne(ArrayList<Student> student){
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 id =sc.nextLine();
System.out.println("请输入新的学生地址:");
String adress =sc.nextLine();
Student s = new Student();
s.setName(name);
s.setAge(age);
s.setId(id);
s.setAdress(adress);
for(int i = 0;i < student.size();i++){
Student a = student.get(i);
if(a.getId().equals(sid)){
student.set(i,s);
break;
}
System.out.println("修改学生信息成功");
}
}
//查找学生信息
public static void printOne(ArrayList<Student> student){
Scanner sc = new Scanner(System.in);
System.out.println("请选择所要查找学生的学号");
String id = sc.nextLine();
for(int i = 0; i < student.size();i++){
Student s = student.get(i);
if(s.getId().equals(id)){
System.out.println("学生姓名\t年龄\t学号\t地址\t");
System.out.println(s.getName()+"\t"+s.getAge()+"岁\t"+s.getId()+"\t"+s.getAdress()+"\t");
}
}
}
//查找所有学生信息
public static void printAll(ArrayList<Student> student){
Scanner sc = new Scanner(System.in);
if(student.size()==0){
System.out.println("无学生信息,请先添加学生信息");
System.out.println("请选择是否添加学生信息:");
System.out.println("1:添加学生信息\n2:退出\n");
int n = sc.nextInt();
switch (n){
case 1:
adds(student);
break;
case 2:
System.exit(0);
break;
default:
System.out.println("你的选择有误,请选择已存在的业务");
}
}else
{
System.out.println("学生姓名\t年龄\t学号\t地址\t");
for(int i = 0;i < student.size();i++) {
Student s = student.get(i);
System.out.println(s.getName() + "\t" + s.getAge() + "岁\t" + s.getId() + "\t" + s.getAdress() + "\t");
}
}
}
}
文章浏览阅读150次。问题及代码:*Copyright(c)2016,烟台大学计算机与控制工程学院 *All right reserved. *文件名称:负数把正数赶出队列.cpp *作者:张冰 *完成日期;2016年10月09日 *版本号;v1.0 * *问题描述: 设从键盘输入一整数序列a1,a2,…an,试编程实现: 当ai>0时,ai进队,当ai<0时,将队首元素出队,当ai
文章浏览阅读376次。贪心+构造
文章浏览阅读150次。本文讲的是Linux命名空间学习教程(二) IPC,【编者的话】Docker核心解决的问题是利用LXC来实现类似VM的功能,从而利用更加节省的硬件资源提供给用户更多的计算资源。而 LXC所实现的隔离性主要是来自内核的命名空间, 其中pid、net、ipc、mnt、uts 等命名空间将容器的进程、网络、消息、文件系统和hostname 隔离开。本文是Li..._主机的 ipc 命名空间
文章浏览阅读2w次,点赞5次,收藏7次。在设备上强制安装apk。在app已有的情况下使用-r参数在app版本低于现有版本使用-d参数命令adb install -r -d xxx.apk_adb绕过安装程序强制安装app
文章浏览阅读1.6w次。图片摘自别人错误提示如下:Unable to load R3 module D:\Program Files\Oracle\VirtualBox/VBoxDD.dll(VBoxDD):GetLastError=1790(VERR_UNRESOLVED_ERROR)意思是:出现这样的原因应该是跟windows系统的[主题文件被破解]的有关,我也不知道原因为_unresolved (unknown) host platform error. (verr_unresolved_error)
文章浏览阅读1k次。A 当前ActivityB 待启动Activity 在A页面,启动B的时,需要在startActivity之后,添加A的自定义退场动画用来覆盖系统的动画overridePendingTransition(0,R.anim.home_close); 调转到B页面,对根布局进行addOnLayoutChangeListenerj监听,并且在其中_acitivity 进出场动画监听
文章浏览阅读1.9k次。 在 上篇文章–Flutter 实现支持上拉加载和下拉刷新的 ListView 中,我们最终实现的效果是在 listView 上面留下了一段空白,本意是用来加载轮播图的,于是今天就开发了一下,希望能给各位灵感。一 、效果如下说一下大体思路 其实图片展示是用的 PageView ,然后,下面的指示器 是用的 TabPageSelector ,当然整体是用 Stack 包裹起来的。1、..._flutter pageview轮播图 site:csdn.net
文章浏览阅读241次。1.类只有两种访问权限:public,可以被所有包中的类访问; 缺省,只能当前包(当前文件夹)中的类访问2.类成员的访问控制权限-- public 可以被跨类,跨包(package)访问-- private 可以修饰数据成员,构造方法,方法,被它修饰的成员只能被本类自已访问,不能被子类访问-- protected ..._非公共类实际只有两种访问权限
文章浏览阅读601次,点赞25次,收藏5次。想要高效清理电脑磁盘垃圾,我们需要利用专业的清理垃圾软件,CleanMyMac X便是其中表现出众的软件之一,利用CleanMyMac X的清理系统垃圾功能,可以释放更多的磁盘存储空间。2.扫描所有文件后,扫描结果会将所有体积较大的视频文件和文件包进行分类罗列,用户可以根据文件类型、文件大小以及访问时间进行选择性删除。2.打开CleanMyMac X软件,在左侧功能栏中分别设置【智能扫描】、【清理】、【保护】、【速度】、【应用程序】、【文件】等六大功能。3.选择【清理】-【系统垃圾】,然后点击【扫描】。
文章浏览阅读1.3k次。SMTP自动发送邮件功能我也是跟着各种博客一步一步搜索出来的,可能在设置邮箱的时候会有各种问题,请参考我的其他博客进行设置https://blog.csdn.net/ly021499/article/details/82423019https://blog.csdn.net/ly021499/article/details/80943030以下代..._smtp.login('gdzg1', 'gdzg_ebscn') 334
文章浏览阅读4.7k次。sas调整数据集变量顺序,更改列顺序,更改列的排列。Python和R在进行变量顺序修改时特别方便,但是sas的keep并不支持变量顺序修改,只能用retain来进行修改,而且修改使用的方法是将所有的变量名重新排列一遍。如果变量特别多会非常麻烦,利用宏变量其实是程序拼接的思想,试用宏变量来实现。以下代码实现了将num1和num2排列到一起,更加复杂的排列可以参考此方法。varnum..._sas retain变量按一定顺序
文章浏览阅读1.3k次,点赞11次,收藏12次。这里项目只需要一个地方用到,就没有封装成组件,直接在用到的.vue文件中写了。在使用的 .Vue 文件中导入。_vue3 elementplus table 可拖拽