首页 > 其他分享 >第五周

第五周

时间:2024-08-03 18:06:13浏览次数:13  
标签:String System name 第五 println public out

本周学习了集合,静态,继承,多态,抽象类抽象方法以及接口;
并及完成了简单的学生管理系统的实现

点击查看代码
//创建学生类
public class Student {
    private String name;
    private int age;
    private String id;
    private String address;

    public Student() {
    }

    public Student(String id, String name, int age, String address) {
        this.name = name;
        this.age = age;
        this.id = id;
        this.address = address;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }


    public String getAddress() {
        return address;
    }


    public void setAddress(String address) {
        this.address = address;
    }

}
点击查看代码
import java.util.ArrayList;
import java.util.Objects;
import java.util.Scanner;

public class StudentSystem {
    public static void main(String[] args) {
        ArrayList<Student> students = new ArrayList<Student>();

        loop: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 input = sc.next();
            switch (input) {
                case "1"-> addStudent(students);
                case "2"-> deleteStudent(students);
                case "3"-> updateStudent(students);
                case "4"-> queryStudent(students);
                case "5"-> {
                    System.out.println("退出");
                    break loop;
                }
                default -> System.out.println("没有这个选项");
            }
        }
    }
//添加学生信息
    public static void addStudent(ArrayList<Student> students) {
        Student student = new Student();
        Scanner sc = new Scanner(System.in);
        String id = null;
        while (true) {
            System.out.println("请输入学生Id");
            id = sc.next();
            boolean flag = contain(students, id);
            if (flag) {
                System.out.println("Id存在重新录入");
            }
            else {
                student.setId(id);
                break;
            }
        }
        System.out.println("请输入学生姓名");
        String name = sc.next();
        student.setName(name);
        System.out.println("请输入学生年龄");
        int age = sc.nextInt();
        student.setAge(age);
        System.out.println("请输入学生家庭住址");
        String address = sc.next();
        student.setAddress(address);
        students.add(student);
        System.out.println("学生信息添加成功");
    }
//删除学生信息
    public static void deleteStudent(ArrayList<Student> students) {
        Scanner sc = new Scanner(System.in);
        String id = null;
        System.out.println("请输入删除的Id");
        id = sc.next();
        int index = index(students, id);
        if (index >= 0) {
            students.remove(index);
            System.out.println("Id删除成功");
        }
        else {
            System.out.println("Id不存在,删除失败");
        }
    }
//修改学生信息
    public static void updateStudent(ArrayList<Student> students) {
        Scanner sc = new Scanner(System.in);
        String id = null;
        System.out.println("请输入要修改的Id");
        id = sc.next();
        int index = index(students, id);
        if (index >= 0) {
            Student student = students.get(index);
            System.out.println("请输入要修改的学生姓名");
            String name = sc.next();
            System.out.println("请输入要修改的学生年龄");
            int age = sc.nextInt();
            System.out.println("请输入要修改的学生家庭住址");
            String address = sc.next();
            student.setName(name);
            student.setAge(age);
            student.setAddress(address);
            System.out.println("学生信息修改成功");
        }
        else {
            System.out.println("要修改的Id不存在");
        }
    }
//查询学生信息
    public static void queryStudent(ArrayList<Student> students) {
        if (students.size() == 0) {
            System.out.println("无学生数据,请添加后查看");
            return;
        }
        System.out.println("id\t\t\t姓名\t\t年龄\t\t家庭住址");
        for (int i = 0; i < students.size(); i++) {
            Student student = students.get(i);
            System.out.println(student.getId() + "\t" + student.getName() + "\t" + student.getAge()+ "\t" + student.getAddress());
        }
    }
    //判断Id是否存在
    public static boolean contain (ArrayList<Student> students, String id){
        return index(students, id) >= 0;
    }
    //获得Id索引
    public static int index(ArrayList<Student> students, String id) {
        for (int i = 0; i < students.size(); i++) {
            Student student = students.get(i);
            String studentId = student.getId();
            if(Objects.equals(studentId, id)) {
                return i;
            }
        }
        return -1;
    }
}
接口的简单运用
点击查看代码
public abstract class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public Person() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
点击查看代码
public abstract class Sporter extends Person {
    public Sporter() {
    }

    public Sporter(String name, int age) {
        super(name, age);
    }

    public abstract void study();
}
点击查看代码
public interface English {
    public abstract void speakEnglish();
}
点击查看代码
public class pingpongSporter extends Sporter implements English {
    public pingpongSporter() {}

    public pingpongSporter(String name, int age) {
        super(name, age);
    }
    @Override
    public void study(){
        System.out.println("乒乓球运动员在练习乒乓球");
    }
    @Override
    public void speakEnglish(){
        System.out.println("乒乓球运动员在说英语");
    }
}
点击查看代码
public class Test {
    public static void main(String[] args) {
        pingpongSporter pps = new pingpongSporter("刘诗雯",23);
        System.out.println(pps.getName()+","+pps.getAge());
        pps.study();
        pps.speakEnglish();

    }
}
并完成pta部分例题

下周学习内部类以及进行简单的项目实现,对近期所学进行复习掌握。

标签:String,System,name,第五,println,public,out
From: https://www.cnblogs.com/sbc11/p/18340865

相关文章

  • 第五章 向量运算(知识点及笔记)
    以下是第五章(向量运算)的知识点,笔记也给大家整理好了......
  • C++第五篇 类和对象(下) 初始化列表
    目录1.再探构造函数2.类型转换3.static成员4.友元friiend1.再探构造函数(1).之前我们实现构造函数时,初始化成员变量主要使用函数体内赋值,构造函数初始化还有一种方式,就是初始化列表,初始化列表的使用方式是以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个"成......
  • 初学Python:第五天
    今天学习了有关于字典的定义和相关操作:1、新增元素语法:字典[key]=value结果:字典被修改,新增了元素更新元素语法:字典[key]=value结果:字典被修改,元素被更新注意:字典key不可以重复,所以对已存在的key执行上述操作,就是更新value值2、删除元素语法:字典.pop(Key)结果:获得......
  • 【IEEE出版 | ICBASE 2020-2023 均已被 EI , Scopus检索 | 温州理工学院、加拿大圭尔
    第五届大数据、人工智能与软件工程国际研讨会(ICBASE2024)将于2024年09月20-22日在中国温州隆重举行。会议主要围绕大数据、人工智能与软件工程等研究领域展开讨论。会议旨在为从事大数据、人工智能与软件工程研究的专家学者、工程技术人员、技术研发人员提供一个共享科研成果和......
  • 第五十六天 第十一章:图论part06 108.冗余连接 109. 冗余连接II
    108.冗余连接继续使用查并集的方法,如果两个元素是在一个集合,那么我们就输出,反之加入集合。#include<iostream>#include<vector>usingnamespacestd;intN;vector<int>father=vector<int>(1001,0);voidinit(){for(inti=0;i<=N;i++){father[i]=i;......
  • 计算机网络基础第五讲 传输层
    计算机网络基础第五讲传输层第一节:传输层概述1.运输层概述2.运输层功能两种不同协议:TCP:面向连接,全双工可靠信道;仅支持单播;复杂UDP:无连接不可靠;支持单播,多播,广播;应用层来负责可靠;简单第二节:端口号1.运输层的端口进程标识符来标记进程;不应该是操作系统提供标识符;为......
  • 学习嵌入式的第五天---选择语句,循环语句
    任何一个程序,都是这三种结构组成(顺序结构、选择结构、循环结构)比较----------选择提供判断条件--------------进行选择c语言中通过关系运算和逻辑运算构造,选择判断条件关系运算> >= < <= == !=  intn;  n>5---------关系表达式,表达式都是有值,结果反映一......
  • django学习入门系列之第五点《javascript的条件语句和函数》
    文章目录5.6条件语句5.7函数往期回顾5.6条件语句if(){}elseif(){}5.7函数#python中函数定义的格式deffunc{函数的内容}#使用函数func()//javascript函数中的内容functionfunc(){函数的内容}//使用函数func()往......
  • BUUCTF 6.[第五空间2019 决赛]PWN5 1
    拿到题目,先运行一下很明显地出现了一个重复我们的输入,以及一个判断的过程,那么我们可以猜测可能会有栈溢出漏洞,让我们继续保护是开了一个canary以及nx,大概率就不是栈溢出漏洞了,因为canary的存在会使栈溢出非常麻烦。我们看一下IDA存在栈溢出漏洞,但是由于长度不够,我们无法......
  • python第五节--conda命令
    这里写自定义目录标题基本命令环境管理包管理环境文件环境变量Conda配置高级操作常见问题基本命令检查Conda版本:conda--version更新Conda:condaupdateconda环境管理创建新环境:condacreate--namemyenv创建包含特定Python版本的新环境:conda......