本帖最后由 小陈 于 2021-4-23 16:23 编辑
前言
唉..吐了,本来整挺详细的.....结果手残点到了关闭其他所有标签页....然后...然后就全没了...直接人傻掉.....大概凭借刚才的记忆写一点....
至于为啥要用java去写个这玩意...主要是补之前的课程..课设好像听说使用java去开发点小东西,然后就写个这个东西大概了解上手一下java...完全0基础,所以会涉及一些基础概念的补充。个人习惯快速入门一门语言的方法是去实战写一些小项目,碰到什么问题解决什么问题即可。
功能
添加学生,删除学生,修改学生,查看所有学生,退出
实战
学生类
创建一个学生类 通过alt+ins 可以直接构造方法,set,get等等.
Private
private是一个权限修饰符,代表最小权限。
private 不但可以修饰成员变量也可以修饰成员方法,被private修饰过的成员变量和成员方法,只能在本类中才能访问
set/get
set是设置的意思,而get是获取的意思
这里补充下 psvm+回车 直接生成main
sout+回车 直接生成输出函数
结果如图
主界面的编写
这里在java中我们要记录用户的输入数据,需要导入一个java包
import java.util.Scanner;
在使用之前我们要进行这个操作
Scanner sc = new Scanner(System.in);
主界面编写如图
我们想当用户选择指定数字的时候对应相应的功能 这里我们使用switch语句进行操作
switch
switch(expression){
case value :
//语句
break; //可选
case value :
//语句
break; //可选
//你可以有任意数量的case语句
default : //可选
//语句
}
switch应该用法都一样只不过我平时使用的比较少,这种情况我好像大概一般都去用if了
补充:这里昨天刚开始用switch会报错 提示switch语句内不允许有字符串 在设置里面将版本调为7即可
当用户选择5的时候我们希望这个程序退出
程序终止
System.exit(0)
程序终止我们要用到这个基础命令
同样的当用户输入其他数字的时候,我们希望操作执行完毕之后回到主页面。
我们这里使用while死循环实现
到这里我们这个简易的学生管理系统的主界面就完成了.
添加学生功能
首先用户输入.
创建学生变量并进行赋值
添加学生功能学号之后,我们肯定是要调用的 需要在switch里面调用
由于添加学生我们传入参数是数组 所以这里我们需要先定义一个数组,然后再去调用
查看所有学生
首先定义方法
这里用for循环循环获取数据并且打印出来,这里的for循环好像跟js还是python的差不多,基本上都是这样用就直接写了
最后在前面switch里面调用一下我们测试一下
格式不太好看,大概调整一下就可以了
当然为了防止在没有数据的情况下,用户输入了4查看所有学生,这个时候我们是需要给一个提示的,让用户去添加数据
equals
String s1,s2,s3 = "abc", s4 ="abc" ;
s1 = new String("abc");
s2 = new String("abc");
s1==s2 是 false //两个变量的内存地址不一样,也就是说它们指向的对象不 一样,
s1.equals(s2) 是 true //两个变量的所包含的内容是abc,故相等。
删除学生信息
代码比较简单,就不多解释了唯一需要注意的是上面那个equals
修改学生信息
用户在进行修改学生信息的时候,首先进行判断如果没有信息直接结束子程序,如果有信息 则让录入信息 然后再学生信息里面进行遍历对比,找到了对应的sid,进行替换,如果没有找到则提示” 请输入正确学号“
同样处理到这里我们意识到 删除那个子程序我们也要进行相关的判断与修改
我们将删除学生信息的代码进行相关的修改
细节补充
这个程序到这里我们基本搞定,但是还有一个小的bug,就是学号重复的问题,不可否认的是我们这个系统肯定不会存在重复学号的现象,每个学生对应一个学号,但是我们现在写的录入信息子程序,是可以录入多个重复的数据的。
假设一下,如果同时录入了两个信息,我们再删除和修改的时候 遍历检索到第一个进行操作,第二个数据我们会跳过,所以不能有重复的学号出现,现在我们对,第一个添加学生的子程序进行修改。
修改的思路很简单 在添加之前我们遍历所有的数据,如果有重复的就提示重复,如果没有重复的,程序正常运行即可.
这里我的方法可能复杂了,但是对数组操作不太熟练这里先这样处理,代码有点长了但是需求是达到了
首先判断有没有学号,如果没有学号直接录入,如果有了再开始进行判断
结果图:
到这里我们简单的学生管理系统就已经写好了.
完结
这个东西很简单整体不算非常复杂,本来昨天晚上就已经搞定了的...但是因为帖子没存上就延缓了下,今天抽空搞定了这个东西。
第一次用java语言去写东西,结合了相关的资料,整体来讲语言语法方面,大部分语言都是通用的,但是java用起来还是不太熟练,有很多细节的东西需要完善,数组操作,正则,网络请求,很多东西还没有看,有机会想尝试写写apk玩玩,要讲安卓程序,可能大概...很久之前用e4a写过点简单的东西,再就是前两天autojs根据控件操作和简单的找图搞的小脚本。不过说实话,感觉那个东西没必要那么复杂...脚本这个东西...控件玩不明白,光会一个简单的找图,也能完成一些简单的自动化操作吧。
总而言之,言而总之...想搞一个东西方法很多,语言都是通用的..尽力就好了...溜了溜了 不吹牛逼了