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学习笔记-学生管理系统的更多相关文章

  1. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  2. Java学习笔记4

    Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...

  3. java学习笔记13--比较器(Comparable、Comparator)

    java学习笔记13--比较器(Comparable.Comparator) 分类: JAVA 2013-05-20 23:20 3296人阅读 评论(0) 收藏 举报 Comparable接口的作用 ...

  4. 第83节:Java中的学生管理系统分页功能

    第83节:Java中的学生管理系统分页功能 分页功能一般可以做成两种,一种是物理分页,另一种是逻辑分页.这两种功能是有各自的特点的,物理分页是查询的时候,对数据库进行访问,只是查一页数据就进行返回,其 ...

  5. 第82节:Java中的学生管理系统

    第82节:Java中的学生管理系统 学生管理系统的删除功能 删除,点击超链接,点击弹出对话框式是否进行删除,如果确定,就删除,超链接执行的是js方法,在js里访问,跳转servlet,,servlet ...

  6. 20145316许心远《Java学习笔记》第三周总结

    20145316许心远<Java程序设计>第3周学习总结 教材学习内容总结 一.定义类: 类定义时使用class关键字 如果要将x绑定到新建的对象上,可以使用"="制定 ...

  7. Java学习笔记之---方法和数组

    Java学习笔记之---方法与数组 (一)方法 (1)什么是方法? 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 (2)方法的优点 使程序变得更简短而 ...

  8. Java学习笔记之---集合

    Java学习笔记之---集合 (一)集合框架的体系结构 (二)List(列表) (1)特性 1.List中的元素是有序并且可以重复的,成为序列 2.List可以精确的控制每个元素的插入位置,并且可以删 ...

  9. JAVA学习笔记—review基本知识[反射与异常]

    JAVA学习笔记—review基本知识[反射与异常] 1.异常: 1.1异常的分类: Java会将所有的异常封装成对象,其根本父类为Throwable. Throwable有两个子类:Error 和E ...

随机推荐

  1. 在并发情况下,Elasticsearch 如果保证读写一致?

    1.可以通过版本号使用乐观并发控制,以确保新版本不会被旧版本覆盖,由应用 层来处理具体的冲突: 2.另外对于写操作,一致性级别支持 quorum/one/all,默认为 quorum,即只 有当大多数 ...

  2. 1、Jetson Nano 远程桌面XP问题

    jeston nano上网 方法3(最简单的方法) 最简单的方法真的特简单,用USB数据线连接主板的USB接口以及手机,打开手机的USB共享即可,若要使用静态IP,可在主板上修改配置文件,接口一般为u ...

  3. 4. Git基本工作流程

    4. Git基本工作流程 Git工作区域 向仓库中添加文件流程

  4. Android Studio安装问题

    安装问题可以参考:https://blog.csdn.net/y74364/article/details/96121530 但是gradle安装缓慢,需要FQ.有加速器FQ的可以开加速器安装,没有的 ...

  5. 常用 adb 命令总结

    1. 显示当前运行的全部模拟器:    adb devices    2.  安装应用程序:      adb install -r 应用程序.apk    3.  获取模拟器中的文件:      a ...

  6. Node的重要性

    一. 为什么要学Node 1. 是自己更全面, 有大局观 2. 提升话语权 3. 升职加薪的筹码 二. Node的作用和应用 1. 脱离浏览器运行 js 2. 后台API编写 3. webpack, ...

  7. Python IDLE清屏

    在学习和使用Python的过程中,少不了要与Python IDLE打交道.但使用 Python IDLE 都会遇到一个常见而又懊恼的问题--要怎么清屏? 答案是为IDLE增加一个清屏的扩展ClearW ...

  8. js new Date()参数格式

    最近在写页面使用new Date()获取时间戳在ie浏览器中测试发现无效:后来发现是参数格式问题, new Date()参数格式如下: 1.用整数初始化日期对象 var date1 = new Dat ...

  9. MFC软件国际化的几个问题及其解决方案

    作者:马健 邮箱:stronghorse_mj@hotmail.com主页:https://www.cnblogs.com/stronghorse/ 以前我以为PDG相关软件只会在国内流行,所以发行简 ...

  10. Java的虚拟线程(协程)特性开启预览阶段,多线程开发的难度将大大降低

    高并发.多线程一直是Java编程中的难点,也是面试题中的要点.Java开发者也一直在尝试使用多线程来解决应用服务器的并发问题.但是多线程并不容易,为此一个新的技术出现了,这就是虚拟线程. 传统多线程的 ...