不爱生姜不吃醋⭐️⭐️⭐️
声明:
🌻本文写的是Java基础项目——学籍管理系统 ❗️
🌻看完之后觉得不错的话麻烦动动小手点个赞赞吧👍
🌻如果本文有什么错误的话欢迎在评论区中指正哦💗
🌻与其明天开始,不如现在行动!💪
🌻大家的支持就是我最大的动力!冲啊!🌹🌹🌹
🌸 Java基础案例 | 第一弹博文
🌸 Java基础案例 | 第二弹博文

文章目录
学籍管理系统是一个教育单位不可缺少的部分,它的内容对于学校的领导人和管理者来说都至关重要,有助于提高整个学校的教育水平和管理水平,减少人力资源的浪费,适应大量的学生信息变更。
本文所写的学籍管理系统实现了学籍管理系统的主要功能,大家的小学期程序设计能用到的话,可以参考一下哦!当然啦,也可以在此基础上不断完善!
学籍管理系统首先有外部的主界面展示功能,进入主界面后可以选择想要的操作,如添加学生信息、修改学生信息、查找学生信息、删除学生信息、查看学生信息和退出系统操作。

1.1 定义学生类
1.2 主界面的代码编写
1.3 添加学生的代码编写
1.4 查看学生的代码编写
1.5 删除学生的代码编写
1.6 修改学生的代码编写
学号:num
姓名:name
年龄:age
地址:address
无参构造
带四个参数的构造
每个成员变量给出对应的get/set方法
public class Student {
//不爱生姜不吃醋
private String num;//学生学号
private String name;//学生姓名
private String age;//学生年龄
private String address;//学生地址
public Student() {
}//无参构造
public Student(String num, String name, String age, String address) {
this.num = num;
this.name = name;
this.age = age;
this.address = address;
}//带四个参数的构造
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
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 getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
Scanner 实现键盘录入数据switch 语句完成操作的选择主类:主界面的编写
public class Studentdemo {
public static void main(String[] args){
//不爱生姜不吃醋
ArrayList<Student> array=new ArrayList<>();
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":
//**此处调用“添加学生方法”**
break;
case "2":
//**此处调用“删除学生方法”**
break;
case "3":
//**此处调用“修改学生方法”**
break;
case "4":
//**此处调用“查找学生方法”**
break;
case "5":
System.out.println("谢谢使用!");
System.exit(0);
}
}
}
}

添加学生方法
public static void Addstudent(ArrayList<Student> array){
//不爱生姜不吃醋
// 定义一个方法用于添加学生;
Scanner sc=new Scanner(System.in);
System.out.print("请输入学生学号:");
String num=sc.nextLine();
System.out.print("请输入学生姓名:");
String name=sc.nextLine();
System.out.print("请输入学生年龄:");
String age=sc.nextLine();
System.out.print("请输入学生地址:");
String address=sc.nextLine();
//创建学生对象,将键盘录入的数据赋值给学生对象的成员变量
Student s=new Student();
s.setNum(num);
s.setName(name);
s.setAge(age);
s.setAddress(address);
//将学生对象添加到集合中
array.add(s);
//给出添加成功提示
System.out.println("添加学生成功!");
}
添加学生方法代码写完后,注意要在main方法中调用:Addstudent(array);

查看学生方法
// 定义一个方法,用于查看学生信息;
public static void Findallstudent(ArrayList<Student> array){
if(array.size()==0){
System.out.println("无信息!");
return;
}
// 显示表头信息
// 将集合中数据取出按照对应格式显示学生信息
for(int i=0;i<array.size();i++){
Student s=array.get(i);
System.out.println("学号:"+s.getNum());
System.out.println("姓名:"+s.getName());
System.out.println("年龄:"+s.getAge());
System.out.println("地址:"+s.getAddress());
System.out.println(" ");
}
}
查看学生方法代码写完后,注意要在main方法中调用:Findallstudent(array);

删除学生方法
// 定义一个方法,用于删除学生信息;
public static void Deletestudent(ArrayList<Student> array){
// 键盘录入要删除的学生信息,显示提示信息
Scanner sc=new Scanner(System.in);
System.out.println("请输入要删除学生的学号:");
String num=sc.nextLine();
int index = -1;
// 遍历集合将对应学生对象从集合中删除
for(int i=0;i<array.size();i++){
Student s=array.get(i);
if(s.getNum().equals(num)){
index = i;
break;
}
}
if(index == -1){
System.out.println("学号有误!");
}else{
array.remove(index);
System.out.println("删除学生信息成功!");
}
}
删除学生方法代码写完后,注意要在main方法中调用:Deletestudent(array);

修改学生方法
// 定义一个方法,用于修改学生信息;
public static void Updatestudent(ArrayList<Student> array){
//不爱生姜不吃醋
// 键盘录入选择修改的学生信息,显示提示信息
Scanner sc=new Scanner(System.in);
System.out.print("请输入要修改的学生学号:");
String num=sc.nextLine();
// 键盘录入要修改的学生信息
System.out.print("请输入修改后的学生姓名");
String name=sc.nextLine();
System.out.print("请输入修改后的学生年龄");
String age=sc.nextLine();
System.out.print("请输入修改后的学生地址");
String address=sc.nextLine();
//创建学生对象
Student s=new Student();
s.setNum(num);
s.setName(name);
s.setAge(age);
s.setAddress(address);
//遍历集合修改对应的学生信息
for(int i=0;i<array.size();i++){
Student student=array.get(i);
if(student.getNum().equals(num)){
array.set(i,s);
break;
}
}
//修改成功提示
System.out.println("修改成功!");
}
修改学生信息方法代码写完后,注意要在main方法中调用:Updatestudent(array);

判断学号是否被使用方法
// 定义一个方法,对学号是否被使用进行判断;
public static boolean Isused(ArrayList<Student> array,String num){
//不爱生姜不吃醋
// 如果与集合中的某一个学生学号相同,返回true
// 如果都不相同,返回false;
boolean flag =false;
for(int i=0;i<array.size();i++){
Student s=array.get(i);
if(s.getNum().equals(num)){
flag = true;
break;
}
}
return flag;
// 在添加学生录入学号后调用该方法
// 如果返回true,提示重新输入学号
// 如果返回false,正常添加学生对象
}
改进后的 添加学生信息方法
public static void Addstudent(ArrayList<Student> array){
// 定义一个方法用于添加学生;
Scanner sc=new Scanner(System.in);
String num;
//为了让程序回到这里,我们使用循环实现
while(true){
System.out.print("请输入学生学号:");
num = sc.nextLine();
boolean flag=Isused(array,num);
if(flag){
System.out.println("你输入的学号已经被使用,请重新输入:");
}else{
break;
}
}
System.out.print("请输入学生姓名:");
String name=sc.nextLine();
System.out.print("请输入学生年龄:");
String age=sc.nextLine();
System.out.print("请输入学生地址:");
String address=sc.nextLine();
//创建学生对象,将键盘录入的数据赋值给学生对象的成员变量
Student s=new Student();
s.setNum(num);
s.setName(name);
s.setAge(age);
s.setAddress(address);
//将学生对象添加到集合中
array.add(s);
//给出添加成功提示
System.out.println("添加学生成功!");
}
两个方法代码写完后,注意要在main方法中调用:
首先调用判断学号被使用方法:Isused(array);
调用改进后的添加学生信息方法:Addstudent(array);
(注意:如果之前有调用了标题4中的方法,应先删去后在调用改进后的添加学生信息方法!)
文章中代码的编写使用的都是Java基础知识,多加练习熟能生巧。
本文中若是有出现的错误请在评论区或者私信指出,我再进行改正优化,如果文章对你有所帮助,请给博主一个宝贵的三连,感谢大家😘!!!
我正在使用i18n从头开始构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在rubyonrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi
我真的很习惯使用Ruby编写以下代码:my_hash={}my_hash['test']=1Java中对应的数据结构是什么? 最佳答案 HashMapmap=newHashMap();map.put("test",1);我假设? 关于java-等价于Java中的RubyHash,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/22737685/
我安装了ruby版本管理器,并将RVM安装的ruby实现设置为默认值,这样'哪个ruby'显示'~/.rvm/ruby-1.8.6-p383/bin/ruby'但是当我在emacs中打开inf-ruby缓冲区时,它使用安装在/usr/bin中的ruby。有没有办法让emacs像shell一样尊重ruby的路径?谢谢! 最佳答案 我创建了一个emacs扩展来将rvm集成到emacs中。如果您有兴趣,可以在这里获取:http://github.com/senny/rvm.el
我正在尝试使用boilerpipe来自JRuby。我看过guide从JRuby调用Java,并成功地将它与另一个Java包一起使用,但无法弄清楚为什么同样的东西不能用于boilerpipe。我正在尝试基本上从JRuby中执行与此Java等效的操作:URLurl=newURL("http://www.example.com/some-location/index.html");Stringtext=ArticleExtractor.INSTANCE.getText(url);在JRuby中试过这个:require'java'url=java.net.URL.new("http://www
我只想对我一直在思考的这个问题有其他意见,例如我有classuser_controller和classuserclassUserattr_accessor:name,:usernameendclassUserController//dosomethingaboutanythingaboutusersend问题是我的User类中是否应该有逻辑user=User.newuser.do_something(user1)oritshouldbeuser_controller=UserController.newuser_controller.do_something(user1,user2)我
什么是ruby的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht
是否有简单的方法来更改默认ISO格式(yyyy-mm-dd)的ActiveAdmin日期过滤器显示格式? 最佳答案 您可以像这样为日期选择器提供额外的选项,而不是覆盖js:=f.input:my_date,as::datepicker,datepicker_options:{dateFormat:"mm/dd/yy"} 关于ruby-on-rails-事件管理员日期过滤器日期格式自定义,我们在StackOverflow上找到一个类似的问题: https://s
电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。 准备工作: 1、U盘一个(尽量使用8G以上的U盘)。 2、一台正常联网可使用的电脑。 3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。 4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。 U盘启动盘制作步骤: 注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注
在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList()Obt
这篇文章是继上一篇文章“Observability:从零开始创建Java微服务并监控它(一)”的续篇。在上一篇文章中,我们讲述了如何创建一个Javaweb应用,并使用Filebeat来收集应用所生成的日志。在今天的文章中,我来详述如何收集应用的指标,使用APM来监控应用并监督web服务的在线情况。源码可以在地址 https://github.com/liu-xiao-guo/java_observability 进行下载。摄入指标指标被视为可以随时更改的时间点值。当前请求的数量可以改变任何毫秒。你可能有1000个请求的峰值,然后一切都回到一个请求。这也意味着这些指标可能不准确,你还想提取最小/