溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

發(fā)布時(shí)間:2022-07-16 09:42:57 來源:億速云 閱讀:154 作者:iii 欄目:編程語言

這篇文章主要介紹“怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)”,在日常操作中,相信很多人在怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

1.分析圖書管理系統(tǒng)的功能

我們先分析一下,一個(gè)圖書管理系統(tǒng)應(yīng)該具備的功能,進(jìn)行一個(gè)簡單的框架搭建。

(1)登錄

正常情況下圖書管理系統(tǒng)只有兩種人會(huì)使用,一種是學(xué)生,一種是圖書管理員

這個(gè)就是我學(xué)校的網(wǎng)上圖書館的登錄界面,學(xué)生查找書籍通過網(wǎng)絡(luò)就可以查閱

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

而管理員的登錄界面,我這里看不到,但肯定會(huì)有后臺(tái)的管理人員登錄的窗口,進(jìn)行系統(tǒng)維護(hù)

所以根據(jù)使用人員不同,就要在登錄時(shí)進(jìn)行選擇,是普通用戶還是管理員。

(2)分析功能

簡單的圖書管理系統(tǒng)應(yīng)該具備的功能,

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

2.在IDEA中進(jìn)行功能類的創(chuàng)建

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

2.1  創(chuàng)建一個(gè)名為book的包,里面存放書相關(guān)的

(1)創(chuàng)建一個(gè)Book的類,來顯示書的屬性

對一個(gè)圖書進(jìn)行查找,應(yīng)該一本書應(yīng)該具有這些屬性

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

    private String name;//書名
    private String author;//作者
    private int price;//價(jià)格
    private String type;//類型
    private boolean isBorrowed;//借閱情況

注意這里給書提供的控制符都是私有的,在類外是不能訪問的

所以要再提供get()和set()對屬性進(jìn)行設(shè)置和獲取

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

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.price = price;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public boolean isBorrowed() {
        return isBorrowed;
    }

    public void setBorrowed(boolean borrowed) {
        isBorrowed = borrowed;
    }

再給書的屬性提供一個(gè)構(gòu)造方法,

這里注意,在構(gòu)造方法中不給書加isBorrowed,isBorrowed是boolean類型的,默認(rèn)  false,也就是未被借出去。如果條件一本書,它默認(rèn)就是沒有被借出去

    public Book(String name, String author, int price, String type) {
        this.name = name;
        this.author = author;
        this.price = price;
        this.type = type;
    }

最后,再提供一個(gè)toString方法來顯示書的信息

    @Override
    public String toString() {
        return "BookList{" +
                "name='" + name + '\'' +
                ", author='" + author + '\'' +
                ", price=" + price +
                ", type='" + type + '\'' +
                ", isBorrowed=" + isBorrowed +
                '}';
    }

(2) 創(chuàng)建一個(gè)BookList的類,這個(gè)就是書庫

因?yàn)槭菚鴰欤娣艜?,所以設(shè)置一個(gè)數(shù)組來存放書籍

   //最多存放20本書
    private Book[] books = new Book[20];

再提供一個(gè)成員變量,來實(shí)時(shí)記錄當(dāng)前books數(shù)組中書的個(gè)數(shù)

 private int usedSize;//實(shí)時(shí)記錄 當(dāng)前Books這個(gè)數(shù)組中有多少本書

下面就可以提供一個(gè)構(gòu)造方法,給里面先存上幾本書

    public BookList() {
        books[0] = new Book("西游記","吳承恩",25,"小說");
        books[1] = new Book("紅樓夢","曹雪芹",26,"小說");
        books[2] = new Book("三國演義","羅貫中",27,"小說");
        books[3] = new Book("水滸傳","施耐庵",28,"小說");
        usedSize = 4;//當(dāng)前有4本書
    }

提供一個(gè)方法,如果給一個(gè)合法的數(shù)組下標(biāo),就能找到這本書

    public Book getBook(int pos) {
        return books[pos];
    }

提供一個(gè)方法,給一個(gè)合法的數(shù)組下標(biāo),和一本書,就能存放這本書到書庫中

    public void setBooks(int pos,Book book) {
        books[pos] = book;
    }

提供一個(gè)方法,給一個(gè)參數(shù),來實(shí)時(shí)修改當(dāng)前書架上的書的個(gè)數(shù)

    public void setUsedSize(int size) {
        usedSize = size;
    }

2.2 創(chuàng)建一個(gè)名為Operation的包,里面存放對書的所有操作

(1)創(chuàng)建一個(gè)IOperation的接口,實(shí)現(xiàn)對數(shù)組的操作引用

因?yàn)椴徽撌枪芾韱T或是普通用戶,對書的操作都是在BookList類的數(shù)組books中進(jìn)行操作,

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

所以可以提供一個(gè)IOperation的接口,實(shí)現(xiàn)對數(shù)組的操作,

public interface IOperation {
    /*
    * 對書的所有操作都是通過BookList類里面的books數(shù)組進(jìn)行操作
    * 可以將這個(gè)寫成一個(gè)接口
    **/
    void work(BookList bookList);
}

(2)創(chuàng)建各種類,來實(shí)現(xiàn)對書的所有操作

比如說,普通用戶和管理員都要對書進(jìn)行顯示操作,這個(gè)顯示是一個(gè)效果,

所以只需寫一個(gè)類,普通用戶和管理員就都可以調(diào)用。

合起來,創(chuàng)建這些類就可以了,

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

然后就可以對這些類引用接口了,再重寫一下

比如新增圖書

public class AddOperation implements IOperation {

    @Override
    public void work(BookList bookList) {
        System.out.println("新增圖書!");
    }
}

3.進(jìn)行用戶相關(guān)的處理

也就是對普通用戶和管理員進(jìn)行處理

(1)創(chuàng)建一個(gè)user的包,在包中創(chuàng)建一個(gè)類

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

這里只創(chuàng)建一個(gè)類,是因?yàn)閷τ谄胀ㄓ脩艉凸芾韱T來說,他們兩個(gè)都是用戶

所以創(chuàng)建一個(gè)成員變量,來表示用戶

    //寫protected是后面要繼承
    protected String name;//用戶名

下面提供一個(gè)構(gòu)造方法對其初始化

    //提供一個(gè)構(gòu)造方法,用來初始化當(dāng)前對象name屬性
    public User(String name) {
        this.name = name;
    }

(2)在user包中再創(chuàng)建兩個(gè)類

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

子類NormalUser繼承父類User,提供一個(gè)構(gòu)造方法來顯示幫助父類進(jìn)行構(gòu)造

public class NormalUser extends User{
    public NormalUser(String name) {
        super(name);
    }
}

子類AdminUser繼承父類User和前面一樣

下來就是打印菜單了,根據(jù)兩個(gè)用戶所需功能進(jìn)行打印菜單

先看AdminUser管理員的

    public int menu() {
        System.out.println("hello " + this.name + "歡迎進(jìn)入圖書管理系統(tǒng)!");
        System.out.println("1.查找圖書!");
        System.out.println("2.新增圖書!");
        System.out.println("3.刪除圖書!");
        System.out.println("4.顯示圖書!");
        System.out.println("0.退出系統(tǒng)!");
        System.out.println("請輸入你的操作:");
        Scanner scanner = new Scanner(System.in);
        int choice = scanner.nextInt();
        return choice;
        //因?yàn)檫@個(gè)是個(gè)菜單,所以要把這個(gè)輸入的值傳出去,才能使用
    }

再看NormalUser普通用戶的

        System.out.println("hello " + this.name + "歡迎進(jìn)入圖書管理系統(tǒng)!");
        System.out.println("1.查找圖書!");
        System.out.println("2.借閱圖書!");
        System.out.println("3.歸還圖書!");
        System.out.println("0.退出系統(tǒng)!");
        System.out.println("請輸入你的操作:");
        Scanner scanner = new Scanner(System.in);
        int choice = scanner.nextInt();
        return choice;
        //因?yàn)檫@個(gè)是個(gè)菜單,所以要把這個(gè)輸入的值傳出去,才能使用

(3)單獨(dú)創(chuàng)建一個(gè)Main的類,將前面所有整合起來

菜單用戶都有了,下面就是要把這些都整合起來,

先準(zhǔn)備圖書

  BookList bookList = new BookList();//準(zhǔn)備圖書

結(jié)下來就是登錄了,

先寫一個(gè)判斷你是普通用戶還是管理員的方法

    public static User login() {
        System.out.println("請輸入你的姓名:");
        Scanner scanner = new Scanner(System.in);
        String name = scanner.nextLine();
        System.out.println("請輸入你的身份:1:-》管理員.0:-》普通用戶");
        int choice = scanner.nextInt();

        if (choice == 1) {
             return new AdminUser(name);
        }else {
            return new NormalUser(name);
        }
    }

注意觀察這段代碼,返回類型是User,這是因?yàn)椴徽搃f中返回是AdminUser還是NormalUser,User作為父類都可以接收,這個(gè)過程就發(fā)生了向上轉(zhuǎn)型

然后再在main方法中引用這個(gè)login()方法,就可以實(shí)現(xiàn)選擇登錄了

        //登錄-》user這個(gè)引用 引用哪個(gè)對象看前面if
        User user = login();

選擇完你是哪種用戶后,就打印對應(yīng)功能菜單

但是注意,剛剛把菜單寫在了對應(yīng)子類中去了

如果現(xiàn)在要在父類中訪問,是訪問不了的,所以就要在父類中也引用出菜單

public abstract class User {
    //寫protected是后面要繼承
    protected String name;//用戶名
    //提供一個(gè)構(gòu)造方法,用來初始化當(dāng)前對象name屬性
    public User(String name) {
        this.name = name;
    }

    public abstract int menu();
}

看代碼中,只需將父類寫成抽象類,然后在抽象類中,引出抽象方法的菜單,

就可以在Main類中通過父類訪問到菜單,這就實(shí)現(xiàn)了動(dòng)態(tài)綁定

    public static void main(String[] args) {
        //開始整合
        BookList bookList = new BookList();//準(zhǔn)備圖書
        //登錄-》user這個(gè)引用 引用哪個(gè)對象看前面if
        User user = login();

        user.menu();//動(dòng)態(tài)綁定
        //要想訪問子類中的菜單,那就要將父類寫成抽象類,
        //然后子類重寫父類的方法,才可以訪問菜單
    }
}

然后此時(shí)代碼就可以運(yùn)行了

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

4.開始實(shí)現(xiàn)對書所有具體的操作功能

4.1先實(shí)現(xiàn)可以調(diào)用具體操作的功能方法

先在User中寫一個(gè)方法,這個(gè)方法的作用是

通過某個(gè)用戶,訪問這個(gè)用戶對應(yīng)方法功能的數(shù)組下標(biāo),然后通過調(diào)用work方法,來實(shí)現(xiàn)功能

    public void doOperation(int choice, BookList bookList) {
        this.iOperations[choice].work(bookList);
    }

然后在mian中,通過選擇用戶引用這個(gè)方法

    public static void main(String[] args) {
        //開始整合
        BookList bookList = new BookList();//準(zhǔn)備圖書
        //登錄-》user這個(gè)引用 引用哪個(gè)對象看前面if
        User user = login();
        int choice = user.menu();//動(dòng)態(tài)綁定

        user.doOperation(choice,bookList);
    }

細(xì)節(jié)可以看這個(gè)圖片

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

下面來看一下具體細(xì)節(jié)分析

(1)mian函數(shù)先調(diào)用

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

(2)現(xiàn)在user引用,有可能是兩個(gè)對象

  怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

(3)

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

當(dāng)引用doOperation時(shí),根據(jù)菜單選擇來訪問數(shù)組元素

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

(4)具體選擇哪個(gè)用戶根據(jù),前面login()中輸入的選擇對象

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

(5)根據(jù)前面選擇需要的功能,調(diào)用work方法

比如這個(gè)

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

4.2 測試一下

現(xiàn)在已經(jīng)整合完成了,就差具體操作功能實(shí)現(xiàn)了,先運(yùn)行代碼試試

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

代碼成功運(yùn)行起來了,但是就用了一個(gè)功能就結(jié)束了,

所以我們可以加一個(gè)循環(huán),來使用多個(gè)功能

    public static void main(String[] args) {
        //開始整合
        BookList bookList = new BookList();//準(zhǔn)備圖書
        //登錄-》user這個(gè)引用 引用哪個(gè)對象看前面if
        User user = login();
        while(true){
            int choice = user.menu();//動(dòng)態(tài)綁定
            user.doOperation(choice,bookList);
        }
    }

4.3 實(shí)現(xiàn)單獨(dú)具體的操作的功能

(1)新增圖書 AppOperation類

新增一本圖書我們需要考慮輸入這些

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

不用考慮isBorrowed 因?yàn)槟J(rèn)狀態(tài)是未被借出的

將這些屬性進(jìn)行輸入

   Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入圖書的名字:");
        String name = scanner.nextLine();
        System.out.println("請輸入圖書的作者:");
        String author = scanner.nextLine();
        System.out.println("請輸入圖書的價(jià)格:");
        int price = scanner.nextInt();
        System.out.println("請輸入圖書的類型:");
        String type = scanner.nextLine();

然后將這些屬性存放到new Book中

        Book book = new Book(name,author,price,type);

獲取當(dāng)前下標(biāo),然后賦給currentSize,將前面輸入的那本書放到數(shù)組下標(biāo)為currentSize中,

然后給 currentSize加1

        int currentSize = bookList.getUsedSize();
        bookList.setBooks(currentSize,book);

        bookList.getUsedSize(currentSize+1);

運(yùn)行一下,試試看

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

新增圖書  AppOperation類的所有代碼

public class AddOperation implements IOperation {
    @Override
    public void work(BookList bookList) {
        System.out.println("新增圖書!");
        Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入圖書的名字:");
        String name = scanner.nextLine();
        System.out.println("請輸入圖書的作者:");
        String author = scanner.nextLine();
        System.out.println("請輸入圖書的類型:");
        String type = scanner.nextLine();
        System.out.println("請輸入圖書的價(jià)格:");
        int price = scanner.nextInt();

        Book book = new Book(name,author,price,type);
        int currentSize = bookList.getUsedSize();
        bookList.setBooks(currentSize,book);
        bookList.getUsedSize(currentSize+1);
        System.out.println("新增書籍成功!");
    }
}

(2)借閱圖書 orrowOperation類

先輸入要借閱圖書的名字

        Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入借閱圖書的名字:");
        String name = scanner.nextLine();

通過for循環(huán)遍歷一遍,然后將遍歷的每一本書賦給變量 book ,

再通過equals,來判斷book和輸入的書的名字是否相同,

如果相同就通過setBorrowed修改此時(shí)借閱狀態(tài),顯示借閱成功

如果不同就顯示沒有這本書

        int currentSize = bookList.getUsedSize();
        for (int i = 0; i < currentSize; i++) {
            Book book = bookList.getBook(i);
            if(book.getName().equals(name)){
                book.setBorrowed(true);
                System.out.println("借閱成功!");
                return;
            }
        }
        System.out.println("沒有這本書!");

運(yùn)行一下,試試看

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

借閱圖書 orrowOperation類的所有代碼

public class BorrowOperation implements IOperation{
    @Override
    public void work(BookList bookList) {
        System.out.println("借閱圖書!");

        Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入借閱圖書的名字:");
        String name = scanner.nextLine();

        int currentSize = bookList.getUsedSize();
        for (int i = 0; i < currentSize; i++) {
            Book book = bookList.getBook(i);
            if(book.getName().equals(name)){
                book.setBorrowed(true);
                System.out.println("借閱成功!");
                return;
            }
        }
        System.out.println("沒有這本書!");
    }
}

(3)刪除圖書 DelOperation類

輸入刪除圖書的名字

  Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入刪除圖書的名字:");
        String name = scanner.nextLine();

找到圖書,然后刪除

        int currentSize = bookList.getUsedSize();
        for (int i = 0; i < currentSize; i++) {
            Book book = bookList.getBook(i);
            if(book.getName().equals(name)){
                for (int j = i; j < currentSize; j++) {
                    bookList.getBook(j);
                }
                bookList.getUsedSize(currentSize-1);//不要忘記更新圖書種類

                bookList.getUsedSize(currentSize-1);
                System.out.println("刪除成功!");
                return;
            }
        }
        System.out.println("沒有找到要?jiǎng)h除的圖書!");

運(yùn)行程序,試試看

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

刪除圖書 DelOperation類的全部代碼

public class DelOperation implements IOperation{
    @Override
    public void work(BookList bookList) {
        System.out.println("刪除圖書!");

        Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入刪除圖書的名字:");
        String name = scanner.nextLine();

        int currentSize = bookList.getUsedSize();
        for (int i = 0; i < currentSize; i++) {
            Book book = bookList.getBook(i);
            if(book.getName().equals(name)){
                for (int j = i; j < currentSize; j++) {
                    bookList.getBook(j);
                }
                bookList.getUsedSize(currentSize-1);//不要忘記更新圖書種類

                bookList.getUsedSize(currentSize-1);
                System.out.println("刪除成功!");
                return;
            }
        }
        System.out.println("沒有找到要?jiǎng)h除的圖書!");
    }
}

(4)顯示圖書 DisplayOperation類

將當(dāng)前有幾本書記錄下來

        int currentSize = bookList.getUsedSize();

然后for循環(huán)全部遍歷一遍就可以了 ,直接看代碼吧

public class DisplayOperation implements IOperation{
    @Override
    public void work(BookList bookList) {
        System.out.println("顯示圖書!");

        int currentSize = bookList.getUsedSize();
        for (int i = 0; i < currentSize; i++) {
            System.out.println(bookList.getBook(i));
            }
        }
}

運(yùn)行結(jié)果就是這樣

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

(5)退出系統(tǒng) ExitOperation類

直接調(diào)用狀態(tài)碼exit來退出系統(tǒng)

public class ExitOperation implements IOperation{
    @Override
    public void work(BookList bookList) {
        System.out.println("退出系統(tǒng)!");
        System.exit(0);
    }
}

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)

(6)查找圖書 FindOperation類

要查找圖書,肯定是先要輸入你需要查找書的名字

        Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入圖書的名字:");
        String name = scanner.nextLine();

通過for循環(huán)遍歷一遍,然后將遍歷的每一本書賦給變量 book ,

再通過equals,來判斷book和輸入的書的名字是否相同,

如果相同就打印,并顯示找到了,如果不相同,就直接顯示沒有找到,

但這里有一個(gè)問題在前面給每一本書默認(rèn)都是false,現(xiàn)在打印還是這樣,所以要修改一下

在Book類中,修改toString,給借閱狀態(tài)一個(gè)三目運(yùn)算符,來判斷是否借出了

    @Override
    public String toString() {
        return "Book{" +
                "name='" + name + '\'' +
                ", author='" + author + '\'' +
                ", price=" + price +
                ", type='" + type + '\'' +
                ((isBorrowed == true)?" 已經(jīng)借出":" 未借出")+
                '}';
    }

運(yùn)行一下,試試

怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)  

查找圖書 FindOperation類的全部代碼就是

public class FindOperation implements IOperation{
    @Override
    public void work(BookList bookList) {
        System.out.println("查找圖書!");

        Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入圖書的名字:");
        String name = scanner.nextLine();

        int currentSize = bookList.getUsedSize();
        for (int i = 0; i < currentSize; i++) {
            Book book = bookList.getBook(i);
            if(book.getName().equals(name)){
                System.out.println("這本書找到了!");
                System.out.println(book);
                return;
            }
        }
        System.out.println("這本書沒有找到!");
    }
}

(7)歸還圖書 ReturnOperation類

先輸入要?dú)w還圖書的名字

        Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入歸還圖書的名字:");
        String name = scanner.nextLine();

和前面借閱基本一樣,修改一下setBorrowed的狀態(tài)就可以了

        int currentSize = bookList.getUsedSize();
        for (int i = 0; i < currentSize; i++) {
            Book book = bookList.getBook(i);
            if(book.getName().equals(name)){
                book.setBorrowed(false);
                System.out.println("歸還成功!");
                return;
            }
        }

運(yùn)行代碼,試試看


歸還圖書 ReturnOperation類的全部代碼

public class ReturnOperation implements IOperation{
    @Override
    public void work(BookList bookList) {
        System.out.println("歸還圖書!");
        Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入歸還圖書的名字:");
        String name = scanner.nextLine();
        int currentSize = bookList.getUsedSize();
        for (int i = 0; i < currentSize; i++) {
            Book book = bookList.getBook(i);
            if(book.getName().equals(name)){
                book.setBorrowed(false);
                System.out.println("歸還成功!");
                return;
            }
        }
    }
}

到此,關(guān)于“怎么使用Java實(shí)現(xiàn)簡易版的圖書管理系統(tǒng)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI