项目开发团队分配管理软件之java基础知识大融合(封装,继承,多态,集合以及各种数据处理,逻辑顺序,逻辑处理

总结

在这里,由于面试中MySQL问的比较多,因此也就在此以MySQL为例为大家总结分享。但是你要学习的往往不止这一点,还有一些主流框架的使用,Spring源码的学习,Mybatis源码的学习等等都是需要掌握的,我也把这些知识点都整理起来了

面试真题

Spring源码笔记

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

package Teamdevelopment.logic;

import Teamdevelopment.domain.Add;

import Teamdevelopment.domain.TSUtility;

import java.util.ArrayList;

import java.util.Scanner;

public class login3 {

ArrayList arrayList=new ArrayList<>();

public login3(){};

public void login(ArrayList arrayList) {

Add add =new Add();

Scanner sc = new Scanner(System.in);

for (int i=0;i<6;i++){

System.out.println(“------登陆界面------”);

System.out.println(“请输入你的账户(最多四位)”);

String name = TSUtility.readKeyBoard(4,false);

System.out.println(“请输入你的密码(最多六位)”);

String password = TSUtility.readKeyBoard(6,false);

if (arrayList.size()==0) {

System.out.println(“未检测到账号,请先注册”);

System.out.println(“------注册界面------”);

add.add5(arrayList);

} else if (name.equals(arrayList.get(0).getName())&&password.equals(arrayList.get(0).getPassword())) {

System.out.print(“账号密码正确,登陆成功”+" ");

System.out.println(“欢迎”+arrayList.get(0).getName());

break;

}else{

System.out.println(“你输入的密码或者账号不正确,你还有”+(5-i)+“次机会”);

if ((5-i)==0){

System.out.println(“你输入错误次数过多,系统将会冻结,再见”);

System.exit(0);

}

}

}

}

}

当上面的注册登陆运行完成后就进入到系统,进入系统后就会有 “1.用户信息修改”;“2.开发人员管理”;“3.开发团队调度管理”;“4.开发项目管理”。四大板块,接下来我就会对每一个板块做详细的介绍及代码演示。

在这里插入图片描述

一、用户信息修改

=======================================================================

首先登陆后就会在这里插入图片描述进入到主系统里,通过主系统进入到用户信息修改,代码下在这里插入图片描述

package Teamdevelopment.domain;

import Teamdevelopment.logic.login3;

public class zhucezhanghao extends login3 {

}

package Teamdevelopment.domain;

import Teamdevelopment.logic.person;

import java.util.ArrayList;

public class xinxixiugai extends zhucezhanghao {

public void xiugai(ArrayList arrayList){

Change ch=new Change();

ch.change2(arrayList);

}

}

public static void change2(ArrayList<Teamdevelopment.logic.person> arrayList){

boolean bool=true;

while (bool) {

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);

int a = TSUtility.readMenuSelectionPro();

switch (a) {

case ‘1’:

changename(arrayList);

break;

case ‘2’:

changepassword(arrayList);

//ind1(arrayList);

break;

case ‘3’:

changeall(arrayList);

break;

case ‘4’:

fiand(arrayList);

break;

case ‘5’:

System.out.println(“请做出你的选择:Y(y)同意,N(n)不同意”);

char c1 = CMUtility.readConfirmSelection();

if (c1 == ‘y’ || c1 == ‘Y’){

System.out.println(“你已经退出”);

bool=false;

}else

break;

}

}

}

public static void changename(ArrayList<Teamdevelopment.logic.person> arrayList){

Scanner sc=new Scanner(System.in);

System.out.println(“请输入新的姓名(最多四位)”);

String q =TSUtility.readKeyBoard(4,false);

Teamdevelopment.logic.person t=new Teamdevelopment.logic.person(q,arrayList.get(0).getPassword());

arrayList.set(0,t);

}

public static void changepassword(ArrayList<Teamdevelopment.logic.person> arrayList){

System.out.println(“请输入新的密码(最多六位)”);

String w= TSUtility.readKeyBoard(6,false);

Teamdevelopment.logic.person t=new Teamdevelopment.logic.person(arrayList.get(0).getName(),w);

arrayList.set(0,t);

}

public static void changeall(ArrayList<Teamdevelopment.logic.person> arrayList){

System.out.println(“请输入新的姓名(最多四位)”);

String q = TSUtility.readKeyBoard(4,false);

System.out.println(“请输入新的6位置密码(最多六位)”);

String w= TSUtility.readKeyBoard(6,false);

Teamdevelopment.logic.person t=new person(q,w);

arrayList.set(0,t);

}

public static void fiand(ArrayList<Teamdevelopment.logic.person> arrayList){

System.out.println(“您的账户为:”+arrayList.get(0).getName());

System.out.println(“您的密码为:”+arrayList.get(0).getPassword());

}

}

光看上面的代码属实有点难受,但是,根本不慌,基本思路其实很简单。首先zhucezhanghao这个类继承的是login3,就是为了调用的方便用途不是很大,change2是进入用户信息修改选项后所拥有的,系统选项,通过循环进行系统选项的改查,如果选1选项的话就会进入修改客户名,从而调用相应的方法,以此类推,进行其他选项,用户信息修改完成后就可以退出此系统从而进入到用户登陆后的主系统。在这里插入图片描述

二、开发人员管理

=======================================================================

进入到开发人员管理后就会进入到在这里插入图片描述界面那么如何实现相应的操作以及数据初始化就有12员工呢?咋们接着往下看:

package Teamdevelopment.domain;

import java.util.Scanner;

public class person2 extends Equipment{

private int id;

private String name;

private int age;

private double wage;

private String position;

private boolean state;

private String bonus;

private String stock;

private String equipment;

public person2(){}

public person2(int id,String name, int age, double wage) {

this.id=id;

this.name = name;

this.age = age;

this.wage = wage;

}

// person2 p=new person2();

public person2(int id,String name, int age, double wage, String position, boolean state, String equipment) {

this.id=id;

this.name = name;

this.age = age;

this.wage = wage;

this.position = position;

this.state = state;

// equipment = (tianjia().getName()+" “+”“+”(“+tianjia().getModel()+”)");

this.equipment = equipment;

}

public person2(int id,String name, int age, double wage, String position, boolean state, String bonus, String equipment) {

this.id=id;

this.name = name;

this.age = age;

this.wage = wage;

this.position = position;

this.state = state;

this.bonus = bonus;

//equipment = (tianjia().getName()+" “+”“+”(“+tianjia().getModel()+”)");

this.equipment = equipment;

}

public person2(int id,String name, int age, double wage, String position, boolean state, String bonus, String stock, String equipment) {

this.id=id;

this.name = name;

this.age = age;

this.wage = wage;

this.position = position;

this.state = state;

this.bonus = bonus;

this.stock = stock;

// equipment = (tianjia().getName()+" “+”“+”(“+tianjia().getModel()+”)");

this.equipment = equipment;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName() {

this.name =addname() ;

}

public int getAge() {

return age;

}

public void setAge() {

this.age = addage();

}

public double getWage() {

return wage;

}

public void setWage() {

this.wage = addwage();

}

public String getPosition() {

return position;

}

public void setPosition() {

this.position = addposition();

}

public boolean getState() {

return state;

}

public void setState(boolean state) {

this.state = state;

}

public String getBonus() {

return bonus;

}

public void setBonus() {

this.bonus = addbounce();

}

public String getStock() {

return stock;

}

public void setStock() {

this.stock = addstock();

}

public String getEquipment() {

return equipment;

}

//Equipment e=new Equipment();

//Equipment tianjia = e.tianjia();

@Override

public Equipment tianjia() {

return super.tianjia();

}

public void setEquipment() {

this.equipment =(tianjia().getName()+" “+”“+”(“+tianjia().getModel()+”)");

}

public String addname(){

Scanner sc=new Scanner(System.in);

System.out.println(“请输入姓名:”);

return sc.nextLine();

}

public int addage(){

Scanner sc=new Scanner(System.in);

System.out.println(“请输入年龄:”);

return sc.nextInt();

}

public double addwage(){

Scanner sc=new Scanner(System.in);

System.out.println(“请输入工资:”);

return sc.nextDouble();

}

public String addposition(){

Scanner sc=new Scanner(System.in);

System.out.println(“请输入职位:”);

return sc.nextLine();

}

public boolean addstate(){

Scanner sc=new Scanner(System.in);

System.out.println(“请输入状态:”);

return sc.hasNextBoolean();

}

public String addbounce(){

Scanner sc=new Scanner(System.in);

System.out.println(“请输入奖金:”);

return sc.nextLine();

}

public String addstock(){

Scanner sc=new Scanner(System.in);

System.out.println(“请输入股票:”);

return sc.nextLine();

}

public String addequipment(){

Scanner sc=new Scanner(System.in);

System.out.println(“请输入领用设备:”);

return sc.nextLine();

}

@Override

public String toString() {

// return “id\t” + “姓名\t\t” + “年龄\t” + “工资\t\t” + “职位\t\t” + “状态\t\t” + “奖金\t\t\t” + “股票\t\t\t” + “设备\n”

return id+“\t”+name+“\t\t”+age+“\t\t”+wage+“\t\t”+position+“\t\t”+state+“\t\t”+bonus+“\t\t\t”+stock+“\t\t\t”+equipment;

}

}

package Teamdevelopment.domain;

import java.util.Scanner;

public class Equipment {

private String devicename;

private String model;

public Equipment(String devicename, String model) {

this.devicename = devicename;

this.model = model;

}

public Equipment() {

}

public String getName() {

return devicename;

}

public void setName(String name) {

this.devicename = name;

}

public String getModel() {

return model;

}

public void setModel(String model) {

this.model = model;

}

public Equipment tianjia() {

Scanner sc =new Scanner(System.in);

System.out.println(“请输入设备名称”);

String a=sc.nextLine();

System.out.println(“请输入设备型号”);

String b=sc.nextLine();

Equipment e=new Equipment(a,b);

return e;

}

}

package Teamdevelopment.logic;

import Teamdevelopment.domain.*;

import java.util.ArrayList;

public class dataused {

public void data(){

}

public void method(ArrayList arrayList){

Add a=new Add();

Delete d=new Delete();

Change c2=new Change();

Check ch=new Check();

Initialpersonnel i=new Initialpersonnel();

i.Initial(arrayList);

boolean flag=true;

while (flag){

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(“请输入你的选择:”);

char c = CMUtility.readMenuSelection();

switch ©{

case ‘1’:

a.add1(arrayList);

break;

case ‘2’:

d.delete1(arrayList);

break;

case ‘3’:

c2.change1(arrayList);

break;

case ‘4’:

ch.fiand1(arrayList);

break;

case ‘5’:

System.out.println(“请做出你的选择:Y(y)同意,N(n)不同意”);

char c1 = CMUtility.readConfirmSelection();

if (c1 == ‘y’ || c1 == ‘Y’){

System.out.println(“你已经退出”);

flag=false;

}else

break;

}

}

}

}

public class Add {

public static void add1(ArrayList arrayList){

Scanner sc=new Scanner(System.in);

boolean bool=true;

while (bool) {

System.out.println(“------开发人员添加界面------”);

System.out.println(“请输入你要增加的职位:”);

System.out.println(“1.架构师”);

System.out.println(“2.设计师”);

System.out.println(“3.程序员”);

System.out.println(“4.雇员”);

System.out.println(“5.退出”);

char c = TSUtility.readMenuSelectionPro();

switch © {

case ‘1’:

addposition1(arrayList);

break;

case ‘2’:

addpositoin2(arrayList);

break;

case ‘3’:

addpositoin3(arrayList);

break;

case ‘4’:

addpositoin4(arrayList);

break;

case ‘5’:

System.out.println(“请做出你的选择:Y(y)同意,N(n)不同意”);

char c1 = TSUtility.readConfirmSelection();

if (c1 == ‘y’ || c1 == ‘Y’){

System.out.println(“你已经退出”);

bool=false;

}else

break;

}

}

}

public static void addposition1(ArrayListarrayList){

Scanner sc=new Scanner(System.in);

System.out.println(“请输入姓名:”);

String name=CMUtility.readString(4,“”);

System.out.println(“请输入年龄:”);

int age=TSUtility.readInt();

System.out.println(“请输入工资:”);

double wage=CMUtility.readInt();

// System.out.println(“请输入职位:”);

// String position=CMUtility.readString(5);

// System.out.println(“请输入状态:”);

// boolean state=sc.nextBoolean();

System.out.println(“请输入奖金:”);

String bouce=CMUtility.readString(10,“”);

System.out.println(“请输入股票:”);

String stock=CMUtility.readString(10,“”);

System.out.println(“请输入领用设备:”);

String equipment=CMUtility.readString(20,“”);

person2 p=new person2(arrayList.size()+1,name,age,wage,“架构师”,true,bouce,stock,equipment);

arrayList.add§;

}

public static void addpositoin2(ArrayListarrayList){

Scanner sc=new Scanner(System.in);

System.out.println(“请输入姓名:”);

String name=CMUtility.readString(4,“”);

System.out.println(“请输入年龄:”);

int age=TSUtility.readInt();

System.out.println(“请输入工资:”);

double wage=CMUtility.readInt();

// System.out.println(“请输入职位:”);

// String position=CMUtility.readString(5);

// System.out.println(“请输入状态:”);

// boolean state=sc.nextBoolean();

System.out.println(“请输入奖金:”);

String bouce=CMUtility.readString(10,“”);

// System.out.println(“请输入股票:”);

// String stock=sc.nextLine();

System.out.println(“请输入领用设备:”);

String equipment=CMUtility.readString(20,“”);

person2 p=new person2(arrayList.size()+1,name,age,wage,“设计师”,true,bouce,“”,equipment);

arrayList.add§;

}

public static void addpositoin3(ArrayListarrayList){

Scanner sc=new Scanner(System.in);

System.out.println(“请输入姓名:”);

String name=CMUtility.readString(4,“”);

System.out.println(“请输入年龄:”);

int age=TSUtility.readInt();

System.out.println(“请输入工资:”);

double wage=CMUtility.readInt();

// System.out.println(“请输入职位:”);

// String position=CMUtility.readString(5);

// System.out.println(“请输入状态:”);

// boolean state=sc.nextBoolean();

// System.out.println(“请输入奖金:”);

// String bouce=sc.nextLine();

// System.out.println(“请输入股票:”);

// String stock=sc.nextLine();

System.out.println(“请输入领用设备:”);

String equipment=CMUtility.readString(20,“”);

person2 p=new person2(arrayList.size()+1,name,age,wage,“程序员”,true,“”,“”,equipment);

arrayList.add§;

}

public static void addpositoin4(ArrayListarrayList){

Scanner sc=new Scanner(System.in);

System.out.println(“请输入姓名:”);

String name=CMUtility.readString(4,“”);

System.out.println(“请输入年龄:”);

int age=TSUtility.readInt();

System.out.println(“请输入工资:”);

double wage=CMUtility.readInt();

// System.out.println(“请输入职位:”);

// String position=sc.nextLine();

// System.out.println(“请输入状态:”);

// boolean state=sc.nextBoolean();

// System.out.println(“请输入奖金:”);

// String bouce=sc.nextLine();

// System.out.println(“请输入股票:”);

// String stock=sc.nextLine();

// System.out.println(“请输入领用设备:”);

// String equipment=sc.nextLine();

Employee p=new Employee(arrayList.size()+1,name,age,wage);

arrayList.add§;

}

public static void delete1(ArrayList arrayList){

System.out.println(“------开发人员删除界面------”);

if (arrayList.size()==0){

System.out.println(“没有信息,请添加后再删除”);

return;

}

System.out.println(“请输入你要删除的编号”);

boolean flag=true;

while(flag) {

// String str= CMUtility.read();

// int a=Integer.parseInt(str);

int a = CMUtility.readInt();

if (a>arrayList.size()||a<=0){

System.out.println(“输入错误:”);

}else if (a>0&&a <= arrayList.size()) {

arrayList.remove(a - 1);

// ArrayListarrayList1=new ArrayList<>();

for (int i = a-1; i <arrayList.size() ; i++) {

arrayList.get(i).setId(arrayList.get(i).getId()-1);

}

System.out.println(“删除成功”);

flag = false;

} else {

System.out.println(“输入错误,请重新输入”);

}

}

}

public static void change1(ArrayList arrayList){

System.out.println(“------开发人员修改界面------”);

System.out.println(“请输入你要修改的编号(如果不修改,按回车即可)”);

boolean flag=true;

while(flag) {

// String str= CMUtility.read();

// int a=Integer.parseInt(str);

int a = CMUtility.readInt();

if (a>arrayList.size()||a<=0){

System.out.println(“输入错误”);

}else if (a>0||a <= arrayList.size()){

if (arrayList.get(a-1).getPosition()==“架构师”){

System.out.println(“请输入新的姓名:”+“原来的姓名是:”+arrayList.get(a-1).getName());

String b =CMUtility.readString(4,arrayList.get(a-1).getName());

System.out.println(“请输入新的年龄:”+arrayList.get(a-1).getAge());

int c=CMUtility.readInt(arrayList.get(a-1).getAge());

System.out.println(“请输入新的工资:”+arrayList.get(a-1).getWage());

double wage=CMUtility.readInt((int) arrayList.get(a-1).getWage());

System.out.println(“请输入职位:”+arrayList.get(a-1).getPosition());

String position=CMUtility.readString(5,arrayList.get(a-1).getPosition());

// System.out.println(“请输入状态:”);

// boolean state=sc.nextBoolean();

System.out.println(“请输入奖金:”+arrayList.get(a-1).getBonus());

String bouce=CMUtility.readString(10,arrayList.get(a-1).getBonus());

System.out.println(“请输入股票:”+arrayList.get(a-1).getStock());

String stock=CMUtility.readString(10,arrayList.get(a-1).getStock());

System.out.println(“请输入领用设备:”+arrayList.get(a-1).getEquipment());

String equipment=CMUtility.readString(20,arrayList.get(a-1).getEquipment());

Architect ku=new Architect(a,b,c,wage,position,true,bouce,stock,equipment);

arrayList.set(a-1,ku);

System.out.println(“修改成功”);

flag = false;

}else if (arrayList.get(a-1).getPosition()==“程序员”){

System.out.println(“请输入新的姓名:”+“原来的姓名是:”+arrayList.get(a-1).getName());

String b =CMUtility.readString(4,arrayList.get(a-1).getName());

System.out.println(“请输入新的年龄:”+arrayList.get(a-1).getAge());

int c=CMUtility.readInt(arrayList.get(a-1).getAge());

System.out.println(“请输入新的工资:”+arrayList.get(a-1).getWage());

double wage=CMUtility.readInt((int) arrayList.get(a-1).getWage());

System.out.println(“请输入职位:”+arrayList.get(a-1).getPosition());

String position=CMUtility.readString(5,arrayList.get(a-1).getPosition());

System.out.println(“请输入领用设备:”+arrayList.get(a-1).getEquipment());

String equipment=CMUtility.readString(20,arrayList.get(a-1).getEquipment());

Programmer ku=new Programmer(a,b,c,wage,position,true,“”,“”,equipment);

arrayList.set(a-1,ku);

System.out.println(“修改成功”);

flag = false;

}else if (arrayList.get(a-1).getPosition()==“程序员”){

System.out.println(“请输入新的姓名:”+“原来的姓名是:”+arrayList.get(a-1).getName());

String b =CMUtility.readString(4,arrayList.get(a-1).getName());

System.out.println(“请输入新的年龄:”+arrayList.get(a-1).getAge());

int c=CMUtility.readInt(arrayList.get(a-1).getAge());

System.out.println(“请输入新的工资:”+arrayList.get(a-1).getWage());

double wage=CMUtility.readInt((int) arrayList.get(a-1).getWage());

System.out.println(“请输入职位:”+arrayList.get(a-1).getPosition());

String position=CMUtility.readString(5,arrayList.get(a-1).getPosition());

// System.out.println(“请输入状态:”);

// boolean state=sc.nextBoolean();

System.out.println(“请输入奖金:”+arrayList.get(a-1).getBonus());

String bouce=CMUtility.readString(10,arrayList.get(a-1).getBonus());

// System.out.println(“请输入股票:”);

// String stock=CMUtility.readString(10,arrayList.get(a-1).getStock());

System.out.println(“请输入领用设备:”+arrayList.get(a-1).getEquipment());

String equipment=CMUtility.readString(20,arrayList.get(a-1).getEquipment());

Designer ku=new Designer(a,b,c,wage,position,true,bouce,“”,equipment);

arrayList.set(a-1,ku);

System.out.println(“修改成功”);

flag = false;

}else if (arrayList.get(a-1).getPosition()==null){

System.out.println(“请输入新的姓名:”+arrayList.get(a-1).getName());

String b =CMUtility.readString(4,arrayList.get(a-1).getName());

System.out.println(“请输入新的年龄:”+arrayList.get(a-1).getAge());

int c=CMUtility.readInt(arrayList.get(a-1).getAge());

System.out.println(“请输入新的工资:”+arrayList.get(a-1).getWage());

double wage=CMUtility.readInt((int) arrayList.get(a-1).getWage());

Employee ku=new Employee(a,b,c,wage);

arrayList.set(a-1,ku);

System.out.println(“修改成功”);

flag = false;

}

}else {

System.out.println(“输入错误”);

}

}

}

public class Check {

public static void fiand1(ArrayList arrayList){

System.out.println(“编号”+“\t”+“姓名”+“\t\t”+“年龄”+“\t”+“工资”+“\t\t\t”+“职位”+“\t\t\t”+“状态”+“\t\t\t”+“奖金”+“\t\t\t”+“股票”+“\t\t\t”+“领用设备”);

for (int i = 0; i <arrayList.size() ; i++) {

System.out.println(arrayList.get(i));

}

}

最后

光给面试题不给答案不是我的风格。这里面的面试题也只是凤毛麟角,还有答案的话会极大的增加文章的篇幅,减少文章的可读性

Java面试宝典2021版

最常见Java面试题解析(2021最新版)

2021企业Java面试题精选

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

b =CMUtility.readString(4,arrayList.get(a-1).getName());

System.out.println(“请输入新的年龄:”+arrayList.get(a-1).getAge());

int c=CMUtility.readInt(arrayList.get(a-1).getAge());

System.out.println(“请输入新的工资:”+arrayList.get(a-1).getWage());

double wage=CMUtility.readInt((int) arrayList.get(a-1).getWage());

Employee ku=new Employee(a,b,c,wage);

arrayList.set(a-1,ku);

System.out.println(“修改成功”);

flag = false;

}

}else {

System.out.println(“输入错误”);

}

}

}

public class Check {

public static void fiand1(ArrayList arrayList){

System.out.println(“编号”+“\t”+“姓名”+“\t\t”+“年龄”+“\t”+“工资”+“\t\t\t”+“职位”+“\t\t\t”+“状态”+“\t\t\t”+“奖金”+“\t\t\t”+“股票”+“\t\t\t”+“领用设备”);

for (int i = 0; i <arrayList.size() ; i++) {

System.out.println(arrayList.get(i));

}

}

最后

光给面试题不给答案不是我的风格。这里面的面试题也只是凤毛麟角,还有答案的话会极大的增加文章的篇幅,减少文章的可读性

Java面试宝典2021版

[外链图片转存中…(img-kj5Mdxk1-1715720522409)]

[外链图片转存中…(img-jkByMGCO-1715720522409)]

最常见Java面试题解析(2021最新版)

[外链图片转存中…(img-dsHCOrp4-1715720522410)]

[外链图片转存中…(img-g5EPcefT-1715720522410)]

2021企业Java面试题精选

[外链图片转存中…(img-wB5GlCdJ-1715720522411)]

[外链图片转存中…(img-l2m5qODQ-1715720522411)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 22
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值