Java学习笔记-学生管理系统
Java学习笔记
一个Student类
public class Student {
private String sid;
private String name;
private String age;
private String address;
public Student() {
}
public Student(String sid, String name, String age, String address) {
this.sid = sid;
this.name = name;
this.age = age;
this.address = address;
}
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
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;
}
}
一个Student的测试类
import java.util.ArrayList;
import java.util.Scanner;
public class Student_Demo {
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":
// System.out.println("添加学生成功");
addStudent(array);
break;
case "2":
// System.out.println("修改学生成功");
modifyStudent(array);
break;
case "3":
// System.out.println("删除学生成功");
delStudent(array);
break;
case "4":
// System.out.println("查看学生成功");
showStudent(array);
break;
case "5":
System.out.println("谢谢使用");
// break;
return;
// System.exit(0);
}
}
}
// 添加学生
// 传入参数是学生数组,添加学生对象,不返回
public static void addStudent(ArrayList<Student> array) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入学号:");
String sid = sc.nextLine();
boolean flag = false;
for (int i = 0; i < array.size(); i++) {
if (sid.equals(array.get(i).getSid())) {
flag = true;
}
}
if (flag) {
System.out.println("有内鬼,停止交易!");
} else {
System.out.println("请输入姓名:");
String name = sc.nextLine();
System.out.println("请输入年龄:");
String age = sc.nextLine();
System.out.println("请输入地址:");
String address = sc.nextLine();
Student student = new Student();
student.setSid(sid);
student.setName(name);
student.setAge(age);
student.setAddress(address);
array.add(student);
System.out.println("添加学生成功!");
}
}
// 删除学生
// 传入的参数是学生数组,删除学生对象,不返回
public static void delStudent(ArrayList<Student> array){
Scanner sc = new Scanner(System.in);
System.out.println("请输入您要删除学生的学号:");
String sid = sc.nextLine();
boolean flag = true;
// j用来获取要删除对象的索引
int j = 0;
for (int i = 0; i < array.size(); i++) {
if (sid.equals(array.get(i).getSid())) {
flag = false;
j = i;
}
}
if(flag){
System.out.println("有内鬼,停止交易!");
}else{
System.out.println("正在删除.........");
array.remove(array.get(j));
}
}
// 修改学生
// 选择修改学生的学号,然后可以修改的对象
public static void modifyStudent(ArrayList<Student> array){
Scanner sc = new Scanner(System.in);
System.out.println("请输入您要修改学生的学号:");
String sid = sc.nextLine();
boolean flag = false;
int j = 0;
for (int i = 0; i < array.size(); i++) {
if (sid.equals(array.get(i).getSid())) {
flag = true;
j = i;
}
}
if(flag){
System.out.println("修改的学号为:");
sid = sc.nextLine();
array.get(j).setSid(sid);
System.out.println("修改的姓名为:");
sid = sc.nextLine();
array.get(j).setName(sid);
System.out.println("修改的年龄为:");
sid = sc.nextLine();
array.get(j).setAge(sid);
System.out.println("修改的地址为:");
sid = sc.nextLine();
array.get(j).setAddress(sid);
System.out.println("修改成功,请进行查看");
}else{
System.out.println("有内鬼,终止交易!");
}
}
// 查看所有学生
// 传入参数是学生数组,进行遍历,不返回
public static void showStudent(ArrayList<Student> array) {
if (array.size() != 0) {
System.out.println("学号\t\t"+"姓名\t\t"+"年龄\t\t"+"地址");
for (int i = 0; i < array.size(); i++) {
System.out.printf("%-8s",array.get(i).getSid());
System.out.printf("%-8s",array.get(i).getName());
System.out.printf("%-8s",array.get(i).getAge());
System.out.printf("%-8s",array.get(i).getAddress());
System.out.println();
}
System.out.println("查看完毕");
}
else{
System.out.println("请先添加学生,再进行查看!");
}
}
}
Java学习笔记-学生管理系统的更多相关文章
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- Java学习笔记4
Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...
- java学习笔记13--比较器(Comparable、Comparator)
java学习笔记13--比较器(Comparable.Comparator) 分类: JAVA 2013-05-20 23:20 3296人阅读 评论(0) 收藏 举报 Comparable接口的作用 ...
- 第83节:Java中的学生管理系统分页功能
第83节:Java中的学生管理系统分页功能 分页功能一般可以做成两种,一种是物理分页,另一种是逻辑分页.这两种功能是有各自的特点的,物理分页是查询的时候,对数据库进行访问,只是查一页数据就进行返回,其 ...
- 第82节:Java中的学生管理系统
第82节:Java中的学生管理系统 学生管理系统的删除功能 删除,点击超链接,点击弹出对话框式是否进行删除,如果确定,就删除,超链接执行的是js方法,在js里访问,跳转servlet,,servlet ...
- 20145316许心远《Java学习笔记》第三周总结
20145316许心远<Java程序设计>第3周学习总结 教材学习内容总结 一.定义类: 类定义时使用class关键字 如果要将x绑定到新建的对象上,可以使用"="制定 ...
- Java学习笔记之---方法和数组
Java学习笔记之---方法与数组 (一)方法 (1)什么是方法? 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 (2)方法的优点 使程序变得更简短而 ...
- Java学习笔记之---集合
Java学习笔记之---集合 (一)集合框架的体系结构 (二)List(列表) (1)特性 1.List中的元素是有序并且可以重复的,成为序列 2.List可以精确的控制每个元素的插入位置,并且可以删 ...
- JAVA学习笔记—review基本知识[反射与异常]
JAVA学习笔记—review基本知识[反射与异常] 1.异常: 1.1异常的分类: Java会将所有的异常封装成对象,其根本父类为Throwable. Throwable有两个子类:Error 和E ...
随机推荐
- Docker镜像构建之docker commit
我们可以通过公共仓库拉取镜像使用,但是,有些时候公共仓库拉取的镜像并不符合我们的需求.尽管已经从繁琐的部署工作中解放出来了,但是在实际开发时,我们可能希望镜像包含整个项目的完整环境,在其他机器上拉取打 ...
- kali Linux 渗透测试 | ettercap图形界面(ARP 欺骗 + DNS欺骗)
上次我们使用 arpspoof 工具在命令行中完成了 arp 欺骗实验,今天我们用另一种工具 ettercap 工具来实现.ettercap支持图形化操作,对新手非常友好,并且操作非常简单, ette ...
- 一块小饼干(Cookie)的故事-上篇
cookie 如果非要用汉语理解的话应该是 一段小型文本文件,由网景的创始人之一的卢 蒙特利在93年发明. 上篇是熟悉一下注册的大致流程,下篇熟悉登录流程以及真正的Cookie 实现基本的注册功能 我 ...
- c++实现中介者模式--虚拟聊天室
内容: 在"虚拟聊天室"实例中增加一个新的具体聊天室类和一个新的具体会员类,要求如下: 1. 新的具体聊天室中发送的图片大小不得超过20M. 2. 新的具体聊天室中发送的文字长度不 ...
- 将子分支代码merge到主分支master分支
1.首先切换到子分支: git checkout develop2.使用git pull 把分支代码pull下来: git pull3.切换到主分支: git checkout master4.把分支 ...
- SpringMVC基于注解开发的步骤
基于xml配置 .1准备好以下相关jar包 .2创建Maven项目使用骨架 (这里选择第二个以webapp结尾的非第一个) 给项目起个名字 这里可以更改maven本地仓库(依赖包所存放的地方)的路径 ...
- c++对c的拓展_编译检测的增强
一:全局变量检测增强:c++编译对全局变量的声明定义有严格区别 //c中全局变量的声明及定义 //c++中全局变量的声明及定义 //c++全局变量写成下列形式则报错 in ...
- c++对c的拓展_命名空间_简单使用
名字的控制:c可使用static关键字使该关键字在本单元内可见,c++则使用命名空间对名字的可见性及产生进行控制 命名空间:控制标识符的作用域(本质上就是一个作用域) 使用特点:1.必须定义在全局范围 ...
- NodeJs学习日报day7——简单中间件
const express = require('express') const app = express() const mw = function(req, resp, next) { cons ...
- python中常用内置函数和关键词
Python 常用内置函数如下: Python 解释器内置了很多函数和类型,您可以在任何时候使用它们.以下按字母表顺序列出它们. 1. abs()函数 返回数字的绝对值. print( abs(-45 ...