国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java初學(xué)者也可以實現(xiàn)的圖書系統(tǒng)小練習(xí)

這篇具有很好參考價值的文章主要介紹了Java初學(xué)者也可以實現(xiàn)的圖書系統(tǒng)小練習(xí)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

? ? ? ?大家好呀,我是小戴??????

? ? ? ?最近大家不是快期末了嘛,有沒有泡圖書館呀?今天的學(xué)習(xí)內(nèi)容跟圖書館有關(guān),沒錯,就是圖書管理系統(tǒng),但是目前所學(xué)知識水平有限,這是一個很簡單的圖書系統(tǒng)小練習(xí)。不要急,我們的目的是在于如何使用已知學(xué)過的知識進(jìn)行實踐,這里將帶大家用基本的Java語法和面向?qū)ο蟮乃枷雭韺崿F(xiàn)這個小程序~沖沖沖???????

Java初學(xué)者也可以實現(xiàn)的圖書系統(tǒng)小練習(xí)

下面是我們今天要學(xué)習(xí)的內(nèi)容??????

??一、需求分析

??二、具體實現(xiàn)過程

??2.1 代碼目錄

??2.2 book包

??1.Book類

??2.BookList類

???2.3 operation包

??1.接口IOperation

??2.AddOperation類

??3.BorrowOperation類

??4. DelOperation類

??5. DisplayOperation類

??6. ExitOperation類

??7.FindOperation類

???8.ReturnOperation類

??2.4 user包

??1. User類

??2. AdminUser類

??3.?NormalUser類

??2.4?Main類

???三、效果展示

??示例一

???示例二

??四、小戴想說的話


??一、需求分析

圖書館書籍系統(tǒng)的用戶分為管理員普通用戶兩種,兩種用戶之間所能實現(xiàn)的功能是不同的。例如我理解想要實現(xiàn)的業(yè)務(wù)是這樣子的:

管理員:

Java初學(xué)者也可以實現(xiàn)的圖書系統(tǒng)小練習(xí)

普通用戶:

Java初學(xué)者也可以實現(xiàn)的圖書系統(tǒng)小練習(xí)

?業(yè)務(wù)實現(xiàn)內(nèi)容不是重點,大家可以根據(jù)自己的喜好去進(jìn)一步完善~


??二、具體實現(xiàn)過程

??2.1 代碼目錄

Java初學(xué)者也可以實現(xiàn)的圖書系統(tǒng)小練習(xí)

?建立一個叫booktest的項目,在src下新建book、operation、user 三個包,分別將跟書有關(guān)的類、跟操作有關(guān)的類、跟用戶有關(guān)的類存儲起來即很好地應(yīng)用了包的作用。

包的作用:

1.提供了類似于操作系統(tǒng)樹狀文件夾的組織形式,能分門別類地存儲、管理類,易于查找并使用類;

2.解決了類命名時相同的沖突。在Java中,不能在一個同一個包中定義兩個類名相同的類,但在不同包中可以;

3.保護(hù)類中成員變量和方法。該成員變量和方法的使用范圍取決于訪問修飾符。

src下還新建了一個叫Main的類,這個類有一個main方法,并且該類將所有東西進(jìn)行整合,來實現(xiàn)我們想要完成的功能。?

在Java中,main方法是Java應(yīng)用程序的入口方法。

程序運行時,要執(zhí)行的第一個方法是main()方法。??

??2.2 book包

??1.Book類

Book類用來具體存放圖書信息,

包括書名、作者、價格、類型、是否被借出這些基本信息

由于這些屬性是用private修飾的,這不就體現(xiàn)了Java語言面向?qū)ο?strong>封裝的特點嗎?除了設(shè)置帶參的構(gòu)造方法、重寫toString()方法,要想在其他類中調(diào)用圖書屬性,需要為每個屬性設(shè)置Getter和Setter方法

封裝:

將一些細(xì)節(jié)信息隱藏- CSDN搜索起來,對外界不可見

用private修飾的屬性,只能在本類中隨意訪問,要想在其他類中調(diào)用,需要在類中設(shè)置賦值或獲取的成員方法。

package book;

public class Book {
    private String name;//書名
    private String author;//作者
    private double price;//價格
    private String type;//類型
    private boolean isBorrowed;//是否被借出

    //Getter  Setter方法
    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 double getPrice() {
        return price;
    }

    public void setPrice(double 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;
    }
    //提供一個4個參數(shù)的構(gòu)造方法
    public Book(String name, String author, double price, String type) {
        this.name = name;
        this.author = author;
        this.price = price;
        this.type = type;
    }

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

??2.BookList類

存放書的地方,是魔幻小書架,書架上的書可不止只有一本哦~

創(chuàng)建一個Book類型的數(shù)組,并實時記錄當(dāng)前數(shù)組存放了多少本書,

設(shè)置一個構(gòu)造方法,將一些書先存放進(jìn)去

getBook()和setBook()方法分別相當(dāng)于從書架上拿書和放書在書架上

package book;

public class BookList {
    //書架容量為10本
    private Book[] books = new Book[10];
    private int usedSize;//實時記錄 當(dāng)前Books這個數(shù)組放了多少本書

    //構(gòu)造方法
    public BookList(){
        books[0] = new Book("把時間當(dāng)做朋友","李笑來",59,"勵志");
        books[1] = new Book("云邊有個小賣部","張嘉佳",46,"青春、成長");
        books[2] = new Book("山茶文具店","小川糸",52,"治愈");
        usedSize = 3;
    }

    /**
     *
     * @param pos 此時 pos位置一定是合法的
     * @return 是你想要借的一本書
     */
    public Book getBook(int pos){
        return books[pos];
    }

    /**
     *
     * @param pos 此時 pos位置一定是合法的
     * @param book 是你想要放的一本書
     */
    public void setBooks(int pos,Book book){
        books[pos] = book;
    }

    /**
     * 實時獲取當(dāng)前書架上 書的個數(shù)
     * @return
     */
    public int getUsedSize(){
        return usedSize;
    }

    /**
     * 實時修改當(dāng)前書架上 書的個數(shù)
     * @param size
     */
    public void setUsedSize(int size){
        usedSize = size;
    }
}

???2.3 operation包

跟操作有關(guān)的類都在這里啦~

??1.接口IOperation

這個接口中的抽象方法都會在后面實現(xiàn)該接口的類中進(jìn)行重寫

package operation;

import book.BookList;

public interface IOperation {
    void work(BookList bookList);//抽象方法
}

??2.AddOperation類

實現(xiàn)新增圖書

package operation;

import book.Book;
import book.BookList;

import java.util.Scanner;

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

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

        System.out.println("請輸入圖書的作者:");
        String author = sc.nextLine();

        System.out.println("請輸入圖書的價格:");
        double price = sc.nextDouble();
        sc.nextLine();//使用nextLine()接收上面鍵盤輸入的'\n'

        System.out.println("請輸入圖書的類型:");
        String type = sc.nextLine();

        Book book = new Book(name,author,price,type);
        int currentSize = bookList.getUsedSize();
        bookList.setBooks(currentSize,book);

        bookList.setUsedSize(currentSize+1);

        System.out.println("《"+name+"》"+"已新增!");
    }
}

??3.BorrowOperation類

實現(xiàn)借閱圖書

package operation;

import book.Book;
import book.BookList;

import java.util.Scanner;

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

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

        int currentSize = bookList.getUsedSize();

        int i=0;
        for(i=0;i<currentSize;i++){
            Book book = bookList.getBook(i);
            if(book.getName().equals(name)){
                book.setBorrowed(true);
                System.out.println("《"+name+"》借閱成功,祝暢游閱讀世界!");
                return;
            }
        }
        if(i>=currentSize){
            System.out.println("抱歉,本書架中沒有此書,我們會盡快聯(lián)系圖書管理員新增此書!");
        }
    }
}

??4. DelOperation類

實現(xiàn)刪除圖書

package operation;

import book.Book;
import book.BookList;

import java.util.Scanner;

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

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

        int i=0;
        int index = 0;
        int currentSize = bookList.getUsedSize();
        for (i=0;i<currentSize;i++){
            Book book = bookList.getBook(i);
            if(book.getName().equals(name)){
                index = i;
                break;
            }
        }
        if(i>=currentSize){
            System.out.println("沒有你想要刪除的這本書");
            return;
        }

        for(i=index;i<currentSize-1;i++){
            Book book = bookList.getBook(i+1);
            bookList.setBooks(i,book);
        }

        bookList.setBooks(currentSize,null);
        bookList.setUsedSize(currentSize-1);
        System.out.println("《"+name+"》"+"已刪除");
    }
}

??5. DisplayOperation類

實現(xiàn)顯示圖書

package operation;

import book.Book;
import book.BookList;

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++) {
            Book book = bookList.getBook(i);
            System.out.println(book);
        }
    }
}

??6. ExitOperation類

實現(xiàn)退出系統(tǒng)

package operation;

import book.BookList;

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

??7.FindOperation類

實現(xiàn)查找圖書

package operation;

import book.Book;
import book.BookList;

import java.util.Scanner;

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

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

        int currentSize = bookList.getUsedSize();

        int i=0;
        for(i=0;i<currentSize;i++){
            Book book = bookList.getBook(i);
            if(book.getName().equals(name)){
                System.out.println("找到這本書了!");
                System.out.println(book);
                return;//找到這本書,查找程序提前結(jié)束
            }
        }
        if(i>=currentSize) {
            //說明沒有找到
            System.out.println("沒有你要找的這本書!");
        }
    }
}

???8.ReturnOperation類

實現(xiàn)歸還圖書

package operation;

import book.Book;
import book.BookList;

import java.util.Scanner;

public class ReturnOperation implements IOperation{
    @Override
    public void work(BookList bookList) {
        System.out.println("歸還圖書!");

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

        int currentSize = bookList.getUsedSize();

        int i=0;
        for(i=0;i<currentSize;i++){
            Book book = bookList.getBook(i);
            if(book.getName().equals(name)){
                book.setBorrowed(false);
                System.out.println("《"+name+"》"+"歸還成功,祝每天都有好心情");
                return;
            }
        }
    }
}

??2.4 user包

前文提到,用戶類型分為管理員普通用戶兩種,這兩種類型都有相同的name屬性,都要有一個功能菜單,功能菜單中有相同的操作方法也有各自才有的特殊操作方法,既然重合度這么高,但又有區(qū)別,好喔,這里需要用一個父類更加方便。

User類就是user這個包中的父類,AdminUser和NormalUser是子類。

繼承的作用:

通過繼承可以快速創(chuàng)建新的類,實現(xiàn)代碼的重用,提高程序的可維護(hù)性,節(jié)省大量創(chuàng)建新類的時間,提高開發(fā)效率和開發(fā)質(zhì)量

允許程序員在保持原有類特性的基礎(chǔ)上進(jìn)行擴(kuò)展,增加功能,這樣產(chǎn)生新的類,稱派生類

??1. User類

package user;

import book.BookList;
import operation.IOperation;

public abstract class User {
    protected String name;//用戶名
    protected IOperation[] iOperations;//此時并沒有初始化和分配大小
    public User(String name) {
        this.name = name;
    }
    public abstract int menu();
    public void doOperation(int choice, BookList bookList){
        this.iOperations[choice].work(bookList);
    }
}

??2. AdminUser類

package user;

import book.BookList;
import operation.*;

import java.util.Scanner;

public class AdminUser extends User{

    public AdminUser(String name) {
        super(name);
        this.iOperations = new IOperation[]{
                new ExitOperation(),
                new FindOperation(),
                new AddOperation(),
                new DelOperation(),
                new DisplayOperation()
        };
    }
    public int menu(){
        System.out.println("hello "+this.name+" 歡迎來到魔幻小書架!");
        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 sc = new Scanner(System.in);
        int choice = sc.nextInt();
        return choice;
    }
}

??3.?NormalUser類

package user;

import operation.*;

import java.util.Scanner;

public class NormalUser extends User{

    public NormalUser(String name) {
        super(name);
        this.iOperations = new IOperation[]{
                new ExitOperation(),
                new FindOperation(),
                new BorrowOperation(),
                new ReturnOperation(),
                new DisplayOperation()
        };

    }
    public int menu(){
        System.out.println("hello "+this.name+" 歡迎來到魔幻小書架!");
        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 sc = new Scanner(System.in);
        int choice = sc.nextInt();
        return choice;
    }
}

??2.4?Main類

Main類用于將這些功能屬性整合起來,也是整個小項目的執(zhí)行入口,

用戶登錄之后,可選擇自己的身份——(管理員/普通用戶)

菜單用循環(huán)實現(xiàn)多次打印

login()函數(shù)將AdminUser或者NormalUser向上轉(zhuǎn)型為父類User

在main()方法中,用一個父類user調(diào)用menu()方法,根據(jù)user是管理員還是普通用戶,向下轉(zhuǎn)型調(diào)用各自不同的菜單

import book.BookList;
import user.AdminUser;
import user.NormalUser;
import user.User;

import java.util.Scanner;

public class Main {

    public static User login(){
        System.out.println("請輸入用戶名:");
        Scanner sc = new Scanner(System.in);
        String name = sc.nextLine();
        System.out.println("請選擇用戶身份:1.管理員 2.普通用戶");

        int choice = sc.nextInt();
        if(choice==1){
           return new AdminUser(name);
        }else {
            return new NormalUser(name);
        }

    }
    public static void main(String[] args) {
        //開始整合
        BookList bookList = new BookList();//圖書準(zhǔn)備
        //登錄
        User user = login();
        int temp = 0;
        do{
        int choice = user.menu();//動態(tài)綁定
        user.doOperation(choice,bookList);
        temp = choice;
        }while (temp!=0);
    }
}

???三、效果展示

psss:因操作過長,長截圖無法截全,為了保證展示完整性,特意用幾張小圖截的,如果給您帶來閱讀不適,請見諒~給你花花????

??示例一

Java初學(xué)者也可以實現(xiàn)的圖書系統(tǒng)小練習(xí)

Java初學(xué)者也可以實現(xiàn)的圖書系統(tǒng)小練習(xí)

Java初學(xué)者也可以實現(xiàn)的圖書系統(tǒng)小練習(xí)

???示例二

Java初學(xué)者也可以實現(xiàn)的圖書系統(tǒng)小練習(xí)

Java初學(xué)者也可以實現(xiàn)的圖書系統(tǒng)小練習(xí)

Java初學(xué)者也可以實現(xiàn)的圖書系統(tǒng)小練習(xí)

Java初學(xué)者也可以實現(xiàn)的圖書系統(tǒng)小練習(xí)


??四、小戴想說的話

學(xué)習(xí)一個知識可能很簡單,但將學(xué)到的知識進(jìn)行整合應(yīng)用絕對比學(xué)那個知識要難,但如果相信自己可以做到,那絕對可以學(xué)下去,保持良好的心態(tài)是提高學(xué)習(xí)效率的利器。

咱們一起加油??????

目前,小戴備考四級和期末考中,有什么學(xué)習(xí)心理各方面問題歡迎uu們私信后臺踢我,會的我會用心解答~

晚安,唔西迪西!——寫于2022/5/23早1:10

Java初學(xué)者也可以實現(xiàn)的圖書系統(tǒng)小練習(xí)

日常禿發(fā),那就明天早上見咯~要是對你有幫助有啟發(fā)的話,就淺淺點個贊支持一下吧????文章來源地址http://www.zghlxwxcb.cn/news/detail-407381.html

到了這里,關(guān)于Java初學(xué)者也可以實現(xiàn)的圖書系統(tǒng)小練習(xí)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 從初學(xué)者到專家:Java反射的完整指南

    從初學(xué)者到專家:Java反射的完整指南

    Java 的反射( reflection )機(jī)制是在 運行 狀態(tài)中,對于任意一個類,都能夠知道這個類的 所有屬性和方法 ;對于任意一個對象,都能夠調(diào)用它的任意方法和屬性 ,既然能拿到那么,我們就可以修改部分類型信息;這種動態(tài)獲取信 息以及動態(tài)調(diào)用對象方法的功能稱為java語言的

    2024年03月26日
    瀏覽(13)
  • 【STM32】初學(xué)者必讀STM32時鐘系統(tǒng)詳解

    【STM32】初學(xué)者必讀STM32時鐘系統(tǒng)詳解

    目錄 1 前言 2 時鐘系統(tǒng)介紹 3 時鐘源 3.1 系統(tǒng)時鐘源 3.2 次級時鐘源 3.3 時鐘源特點 4 時鐘 4.1 AHB總線時鐘 4.2 APB1總線時鐘 4.3 APB2總線時鐘 5 時鐘控制器 6 CubeMx配置時鐘系統(tǒng) 6.1 選擇單片機(jī)型號 6.2 選擇時鐘源 6.3 配置系統(tǒng)時鐘 6.4 時鐘系統(tǒng)初始化代碼 7 結(jié)論 ????????STM32的時

    2024年02月08日
    瀏覽(22)
  • 編程中的信號處理和系統(tǒng) - 初學(xué)者指南

    編程中的信號處理和系統(tǒng) - 初學(xué)者指南

    信號處理是工程和編程的一個重要領(lǐng)域。 基本上,它允許工程師和程序員改進(jìn)數(shù)據(jù),以便人們可以更有效地使用它。 例如,由于信號處理,電話中的大部分背景噪音都被消除了。這樣,通話的另一端就只能聽到您的聲音。 其他例子有: 音頻和音樂軟件 圖像視頻處理軟件 醫(yī)

    2024年02月09日
    瀏覽(18)
  • Linux-初學(xué)者系列——篇幅4_系統(tǒng)運行相關(guān)命令

    Linux-初學(xué)者系列——篇幅4_系統(tǒng)運行相關(guān)命令

    上篇: Linux-初學(xué)者系列——篇幅3_操作界面獲取幫助 一、關(guān)機(jī)重啟注銷命令 1、重啟或者關(guān)機(jī)命令-shutdown 關(guān)閉和重啟Linux系統(tǒng)的命令shutdown,系統(tǒng)在關(guān)閉重啟之前會通知所有的登錄用戶,系統(tǒng)即將關(guān)閉重啟時所有的新用戶都不可以登錄 語法格式: 常用參數(shù): 序號 參數(shù)選項 功

    2024年02月05日
    瀏覽(31)
  • STM32初學(xué)者入門FreeRTOS操作系統(tǒng),多任務(wù)實時系統(tǒng)

    STM32初學(xué)者入門FreeRTOS操作系統(tǒng),多任務(wù)實時系統(tǒng)

    ? ? ? ? FreeRTOS(Free Real-Time Operating System)是一個開源的嵌入式實時操作系統(tǒng),它專門設(shè)計用于在資源有限的嵌入式系統(tǒng)中運行。FreeRTOS提供了一些用于任務(wù)管理、調(diào)度、同步和通信的功能,使開發(fā)者能夠輕松地創(chuàng)建可靠的嵌入式系統(tǒng)。 以下是FreeRTOS的一些特點和功能: 輕量

    2024年02月11日
    瀏覽(27)
  • 從初學(xué)者到專家:Java 數(shù)據(jù)類型和變量的完整指南

    從初學(xué)者到專家:Java 數(shù)據(jù)類型和變量的完整指南

    目錄 一、字面常量 1.1什么常量? 1.2常見的六種常量類型 二、數(shù)據(jù)類型 2.1什么是數(shù)據(jù)類型? 2.2基本數(shù)據(jù)類型: 2.3引用數(shù)據(jù)類型 三、變量 3.1什么是變量? 3.2變量的命名規(guī)則 3.3變量的作用域 3.4變量的被final修飾 四.類型轉(zhuǎn)換 4.1什么是類型轉(zhuǎn)換? 4.2自動類型轉(zhuǎn)換 4.3強制類型轉(zhuǎn)

    2024年02月14日
    瀏覽(25)
  • 從初學(xué)者到專家:Java的Lambda表達(dá)式完整指南

    從初學(xué)者到專家:Java的Lambda表達(dá)式完整指南

    概念: Lambda表達(dá)式是Java 8引入的一項重要功能,它允許我們以更簡潔和靈活的方式編寫代碼。 可以把Lambda表達(dá)式看作是一種更方便的匿名函數(shù),可以像數(shù)據(jù)一樣傳遞和使用。 使用Lambda表達(dá)式可以讓我們寫出更短、更易讀的代碼。它可以替代傳統(tǒng)的匿名類,使代碼更加簡潔。

    2024年03月25日
    瀏覽(26)
  • 初學(xué)者思路-實現(xiàn)獨立按鍵檢測(以STM32為例)

    初學(xué)者思路-實現(xiàn)獨立按鍵檢測(以STM32為例)

    ? ? ? ? 本文以初學(xué)者角度切入,詳細(xì)剖析按鍵檢測原理,實現(xiàn)按鍵短按、短按抬起、首次長按、持續(xù)長按次數(shù)、長按抬起功能; 目錄 前言 波形圖分析 抖動原因 為什么要消抖 如何消抖 原理圖分析 程序設(shè)計思路 代碼實踐 按鍵配置 按鍵檢測 實驗結(jié)果 留下反思 ? ? ? ? 如

    2024年01月16日
    瀏覽(22)
  • AIGC:初學(xué)者使用“C知道”實現(xiàn)AI人臉識別

    AIGC:初學(xué)者使用“C知道”實現(xiàn)AI人臉識別

    從前,我們依靠各種搜索引擎來獲取內(nèi)容,但隨著各類數(shù)據(jù)在互聯(lián)網(wǎng)世界的爆炸式增長,加上深度學(xué)習(xí)模型的廣泛發(fā)展,我們現(xiàn)在不僅可以實現(xiàn)“遇事不決問AI”,還可以利用AI進(jìn)行創(chuàng)作,關(guān)于人工智能生成內(nèi)容(AIGC)的討論和應(yīng)用也是隨處可見。 本文記錄一下人工智能初學(xué)

    2024年02月11日
    瀏覽(28)
  • 【C語言】代碼實現(xiàn) 掃雷 游戲及進(jìn)階功能(初學(xué)者詳解)

    【C語言】代碼實現(xiàn) 掃雷 游戲及進(jìn)階功能(初學(xué)者詳解)

    掃雷游戲的起源可以追溯到20世紀(jì)60年代,當(dāng)時這款游戲是由IBM開發(fā)出來的。在80年代初,微軟公司將其收歸旗下,并將其作為Windows操作系統(tǒng)自帶的一款游戲。自此以后,掃雷成為了Windows用戶最喜歡的休閑游戲之一,也受到了全球范圍內(nèi)的玩家喜愛。 現(xiàn)在,我們使用C語言,來

    2024年01月20日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包