


Explication détaillée des graphiques et du texte Java pour implémenter un système de gestion de bibliothèque
Cet article vous apporte des connaissances pertinentes sur java Il présente principalement des questions connexes sur la façon de mettre en œuvre un système de gestion de bibliothèque, notamment la recherche de livres, l'ajout de livres, la suppression de livres, l'emprunt de livres, etc. j'espère que cela aide tout le monde.
Apprentissage recommandé : "Tutoriel vidéo Java"
1. Introduction à la fonction
1.1 Introduction à l'utilisation
1. Entrez votre nom
2.
3. Basé sur l'impression d'identité, différents menus de fonctions
1.2 Cadre de base
2. Idées spécifiques
livre (package)
opération (pack de fonctions)
utilisateur (utilisateur package )3. Implémentation du code
book (package)Book (catégorie livre)
package book;/**
* User: gu'jiu
* Date: 2022-05-18
* Time: 14:45
* Description:书
*/public class Book {
private String name;//书名
private String author;//作者
private double price;//价格
private String type;//类型
private boolean state;//书的状态(已借出or未借出)
//对书进行初始化,书的状态不用进行初始化(默认未借出)
public Book(String name, String author, double price, String type) {
this.name = name;
this.author = author;
this.price = price;
this.type = type;
this.state = state;
}
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 isState() {
return state;
}
public void setState(boolean state) {
this.state = state;
}
@Override
public String toString() {
return "[" +
"name='" + name + '\'' +
", author='" + author + '\'' +
", price=" + price +
", type='" + type + '\'' +
", " + (state == true ? "已借出" : "未借出") +
']';
}}
Copier après la connexion
BookList (catégorie bibliothèque)package book;/** * User: gu'jiu * Date: 2022-05-18 * Time: 14:45 * Description:书 */public class Book { private String name;//书名 private String author;//作者 private double price;//价格 private String type;//类型 private boolean state;//书的状态(已借出or未借出) //对书进行初始化,书的状态不用进行初始化(默认未借出) public Book(String name, String author, double price, String type) { this.name = name; this.author = author; this.price = price; this.type = type; this.state = state; } 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 isState() { return state; } public void setState(boolean state) { this.state = state; } @Override public String toString() { return "[" + "name='" + name + '\'' + ", author='" + author + '\'' + ", price=" + price + ", type='" + type + '\'' + ", " + (state == true ? "已借出" : "未借出") + ']'; }}
package book;/**
* User: gu'jiu
* Date: 2022-05-18
* Time: 14:52
* Description:书架
*/public class BookList {
private Book[] books = new Book[10];
private int usedSize;
public BookList() {
books[0] = new Book("三国演义","罗贯中",19.9,"小说");
books[1] = new Book("西游记","吴承恩",29.9,"小说");
books[2] = new Book("红楼梦","曹雪芹",26.9,"小说");
usedSize = 3;
}
public Book getBooks(int pos) {//输入下标获取该下标的这本书
return books[pos];
}
public void setBooks(int pos, Book book) {//输入下标和一本书,在该下标放入一本书
this.books[pos] = book;
}
public int getUsedSize() {
return usedSize;
}
public void setUsedSize(int usedSize) {
this.usedSize = usedSize;
}}
Copier après la connexion
package book;/** * User: gu'jiu * Date: 2022-05-18 * Time: 14:52 * Description:书架 */public class BookList { private Book[] books = new Book[10]; private int usedSize; public BookList() { books[0] = new Book("三国演义","罗贯中",19.9,"小说"); books[1] = new Book("西游记","吴承恩",29.9,"小说"); books[2] = new Book("红楼梦","曹雪芹",26.9,"小说"); usedSize = 3; } public Book getBooks(int pos) {//输入下标获取该下标的这本书 return books[pos]; } public void setBooks(int pos, Book book) {//输入下标和一本书,在该下标放入一本书 this.books[pos] = book; } public int getUsedSize() { return usedSize; } public void setUsedSize(int usedSize) { this.usedSize = usedSize; }}
opération (package de fonctions)
IOperation (interface fonctionnelle)
package operation;import book.BookList;/**
* User: gu'jiu
* Date: 2022-05-18
* Time: 15:07
* Description:接口
*/public interface IOperation {
void work(BookList bookList);}
Copier après la connexion
FindOperation (trouver des livres)package operation;import book.BookList;/** * User: gu'jiu * Date: 2022-05-18 * Time: 15:07 * Description:接口 */public interface IOperation { void work(BookList bookList);}
package operation;import book.Book;import book.BookList;import java.util.Scanner;/**
* User: gu'jiu
* Date: 2022-05-18
* Time: 15:09
* Description:查找书籍信息
*/public class FindOperation implements IOperation{
@Override
public void work(BookList bookList) {
System.out.println();
System.out.println("查找图书");
System.out.println("------------------------");
Scanner scanner = new Scanner(System.in);
System.out.print("请输入书的名称:");
String name = scanner.nextLine();
//获取书架中图书数量
int size = bookList.getUsedSize();
//根据名字查找
for (int i = 0; i < size; i++) {
Book book = bookList.getBooks(i);
if (book.getName().equals(name)) {
System.out.println(book);
return;
}
}
System.out.println("未找到该书。");
}}
Copier après la connexion
AddOperation (ajouter des livres)package operation;import book.Book;import book.BookList;import java.util.Scanner;/** * User: gu'jiu * Date: 2022-05-18 * Time: 15:09 * Description:查找书籍信息 */public class FindOperation implements IOperation{ @Override public void work(BookList bookList) { System.out.println(); System.out.println("查找图书"); System.out.println("------------------------"); Scanner scanner = new Scanner(System.in); System.out.print("请输入书的名称:"); String name = scanner.nextLine(); //获取书架中图书数量 int size = bookList.getUsedSize(); //根据名字查找 for (int i = 0; i < size; i++) { Book book = bookList.getBooks(i); if (book.getName().equals(name)) { System.out.println(book); return; } } System.out.println("未找到该书。"); }}
package operation;import book.Book;import book.BookList;import java.util.Scanner;/**
* User: gu'jiu
* Date: 2022-05-18
* Time: 15:04
* Description:新增书籍
*/public class AddOperation implements IOperation{
@Override
public void work(BookList bookList) {
System.out.println();
System.out.println("添加图书");
System.out.println("------------------------");
Scanner scanner = new Scanner(System.in);
System.out.print("请输入书名:");
String name = scanner.nextLine();
System.out.print("请输入作者:");
String author = scanner.nextLine();
System.out.print("请输入书的类型:");
String type = scanner.nextLine();
System.out.print("请输入价格:");
double price = scanner.nextDouble();
Book book = new Book(name, author, price, type);
bookList.setBooks(bookList.getUsedSize(), book);//将书放入书架
bookList.setUsedSize(bookList.getUsedSize()+1);//书籍数量+1
}}
Copier après la connexion
DelOperation (supprimer des livres)package operation;import book.Book;import book.BookList;import java.util.Scanner;/** * User: gu'jiu * Date: 2022-05-18 * Time: 15:04 * Description:新增书籍 */public class AddOperation implements IOperation{ @Override public void work(BookList bookList) { System.out.println(); System.out.println("添加图书"); System.out.println("------------------------"); Scanner scanner = new Scanner(System.in); System.out.print("请输入书名:"); String name = scanner.nextLine(); System.out.print("请输入作者:"); String author = scanner.nextLine(); System.out.print("请输入书的类型:"); String type = scanner.nextLine(); System.out.print("请输入价格:"); double price = scanner.nextDouble(); Book book = new Book(name, author, price, type); bookList.setBooks(bookList.getUsedSize(), book);//将书放入书架 bookList.setUsedSize(bookList.getUsedSize()+1);//书籍数量+1 }}
package operation;import book.Book;import book.BookList;import java.util.Scanner;/**
* User: gu'jiu
* Date: 2022-05-18
* Time: 15:05
* Description:删除书籍
*/public class DelOperation implements IOperation{
@Override
public void work(BookList bookList) {
System.out.println();
System.out.println("删除图书");
System.out.println("------------------------");
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要删除的书名:");
String name = scanner.nextLine();
//获取书架中现在有几本书
int size = bookList.getUsedSize();
int i = 0;
//根据书名找到这个本书的下标
for (i = 0; i < size; i++) {
Book book = bookList.getBooks(i);
if (book.getName().equals(name)) {
break;
}
}
if (i == size) {
System.out.println("删除失败,未找到该书。");
return;
}
//通过前移将书删除
for (i = 0; i < size - 1; i++) {
bookList.setBooks(i,bookList.getBooks(i + 1));
}
bookList.setUsedSize(bookList.getUsedSize()-1);//书架中图书数量-1
System.out.println("删除成功。");
}}
Copier après la connexion
BorrowOperation (emprunter des livres)package operation;import book.Book;import book.BookList;import java.util.Scanner;/** * User: gu'jiu * Date: 2022-05-18 * Time: 15:05 * Description:删除书籍 */public class DelOperation implements IOperation{ @Override public void work(BookList bookList) { System.out.println(); System.out.println("删除图书"); System.out.println("------------------------"); Scanner scanner = new Scanner(System.in); System.out.print("请输入要删除的书名:"); String name = scanner.nextLine(); //获取书架中现在有几本书 int size = bookList.getUsedSize(); int i = 0; //根据书名找到这个本书的下标 for (i = 0; i < size; i++) { Book book = bookList.getBooks(i); if (book.getName().equals(name)) { break; } } if (i == size) { System.out.println("删除失败,未找到该书。"); return; } //通过前移将书删除 for (i = 0; i < size - 1; i++) { bookList.setBooks(i,bookList.getBooks(i + 1)); } bookList.setUsedSize(bookList.getUsedSize()-1);//书架中图书数量-1 System.out.println("删除成功。"); }}
package operation;import book.Book;import book.BookList;import java.util.Scanner;/**
* User: gu'jiu
* Date: 2022-05-18
* Time: 15:05
* Description:借阅书籍
*/public class BorrowOperation implements IOperation{
@Override
public void work(BookList bookList) {
System.out.println();
System.out.println("借阅图书");
System.out.println("------------------------");
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要借书的名称:");
String name = scanner.nextLine();
//获取书架中现在有几本书
int size = bookList.getUsedSize();
for (int i = 0; i < size; i++) {
Book book = bookList.getBooks(i);
//判断在书架中是否有这本书
if (book.getName().equals(name)) {
//判断书是否被借走
if (!book.isState()) {
System.out.println("借阅成功!");
book.setState(true);//将书的状态改为已借出
return;
} else {
System.out.println("借阅失败,该书已被别人借走。");
return;
}
}
}
System.out.println("借阅失败,未找到该书。");
}}
Copier après la connexion
ReturnOperation (retourner des livres)package operation;import book.Book;import book.BookList;import java.util.Scanner;/** * User: gu'jiu * Date: 2022-05-18 * Time: 15:05 * Description:借阅书籍 */public class BorrowOperation implements IOperation{ @Override public void work(BookList bookList) { System.out.println(); System.out.println("借阅图书"); System.out.println("------------------------"); Scanner scanner = new Scanner(System.in); System.out.print("请输入要借书的名称:"); String name = scanner.nextLine(); //获取书架中现在有几本书 int size = bookList.getUsedSize(); for (int i = 0; i < size; i++) { Book book = bookList.getBooks(i); //判断在书架中是否有这本书 if (book.getName().equals(name)) { //判断书是否被借走 if (!book.isState()) { System.out.println("借阅成功!"); book.setState(true);//将书的状态改为已借出 return; } else { System.out.println("借阅失败,该书已被别人借走。"); return; } } } System.out.println("借阅失败,未找到该书。"); }}
package operation;import book.Book;import book.BookList;import java.util.Scanner;/**
* User: gu'jiu
* Date: 2022-05-18
* Time: 15:10
* Description:归还书籍
*/public class ReturnOperation implements IOperation{
@Override
public void work(BookList bookList) {
System.out.println();
System.out.println("归还图书");
System.out.println("------------------------");
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要还书的名称:");
String name = scanner.nextLine();
//获取书架中现在有几本书
int size = bookList.getUsedSize();
for (int i = 0; i < size; i++) {
Book book = bookList.getBooks(i);
//判断在书架中是否有这本书
if (book.getName().equals(name)) {
//判断书是否已被借走
if (book.isState()) {
System.out.println("归还成功!");
book.setState(false);//将书的状态改为未借出
return;
} else {
System.out.println("归还失败,该书已还未被借走。");
return;
}
}
}
System.out.println("归还失败,未找到该书。");
}}
Copier après la connexion
DisplayOperation (imprimer des informations sur le livre) package operation;import book.Book;import book.BookList;import java.util.Scanner;/** * User: gu'jiu * Date: 2022-05-18 * Time: 15:10 * Description:归还书籍 */public class ReturnOperation implements IOperation{ @Override public void work(BookList bookList) { System.out.println(); System.out.println("归还图书"); System.out.println("------------------------"); Scanner scanner = new Scanner(System.in); System.out.print("请输入要还书的名称:"); String name = scanner.nextLine(); //获取书架中现在有几本书 int size = bookList.getUsedSize(); for (int i = 0; i < size; i++) { Book book = bookList.getBooks(i); //判断在书架中是否有这本书 if (book.getName().equals(name)) { //判断书是否已被借走 if (book.isState()) { System.out.println("归还成功!"); book.setState(false);//将书的状态改为未借出 return; } else { System.out.println("归还失败,该书已还未被借走。"); return; } } } System.out.println("归还失败,未找到该书。"); }}
package operation;import book.Book;import book.BookList;/**
* User: gu'jiu
* Date: 2022-05-18
* Time: 15:06
* Description:打印全部书籍信息
*/public class DisplayOperation implements IOperation{
@Override
public void work(BookList bookList) {
System.out.println();
System.out.println("显示全部图书");
System.out.println("------------------------");
int size = bookList.getUsedSize();
for (int i = 0; i < size; i++) {
Book book = bookList.getBooks(i);
System.out.println(book);
}
}}
Copier après la connexion
ExitOperation (quitter le système)package operation;import book.Book;import book.BookList;/** * User: gu'jiu * Date: 2022-05-18 * Time: 15:06 * Description:打印全部书籍信息 */public class DisplayOperation implements IOperation{ @Override public void work(BookList bookList) { System.out.println(); System.out.println("显示全部图书"); System.out.println("------------------------"); int size = bookList.getUsedSize(); for (int i = 0; i < size; i++) { Book book = bookList.getBooks(i); System.out.println(book); } }}
import book.BookList;/**
* User: gu'jiu
* Date: 2022-05-18
* Time: 15:08
* Description:退出系统
*/public class ExitOperation implements IOperation{
@Override
public void work(BookList bookList) {
System.out.println();
System.out.println("退出系统。");
System.out.println("------------------------");
System.exit(0);
}}
Copier après la connexion
import book.BookList;/** * User: gu'jiu * Date: 2022-05-18 * Time: 15:08 * Description:退出系统 */public class ExitOperation implements IOperation{ @Override public void work(BookList bookList) { System.out.println(); System.out.println("退出系统。"); System.out.println("------------------------"); System.exit(0); }}
user (package utilisateur)
User (classe abstraite d'utilisateur)
package user;import book.BookList;import operation.IOperation;/**
* User: gu'jiu
* Date: 2022-05-18
* Time: 15:11
* Description:使用者
*/abstract public class User {
protected String userName;//使用者姓名
protected IOperation[] iOperations;//功能数组
public User(String userName) {
this.userName = userName;
}
public abstract int menu();
//输入选择,调用不同的功能
public void doOperation(int choice, BookList bookList) {
this.iOperations[choice].work(bookList);//动态绑定
}}
Copier après la connexion
AdminUser (administrateur)package user;import book.BookList;import operation.IOperation;/** * User: gu'jiu * Date: 2022-05-18 * Time: 15:11 * Description:使用者 */abstract public class User { protected String userName;//使用者姓名 protected IOperation[] iOperations;//功能数组 public User(String userName) { this.userName = userName; } public abstract int menu(); //输入选择,调用不同的功能 public void doOperation(int choice, BookList bookList) { this.iOperations[choice].work(bookList);//动态绑定 }}
package user;import operation.*;import java.util.Scanner;/**
* User: gu'jiu
* Date: 2022-05-18
* Time: 15:13
* Description:管理员
*/public class AdminUser extends User{
public AdminUser(String userName) {
super(userName);
//管理员功能
this.iOperations = new IOperation[] {
new ExitOperation(),
new FindOperation(),
new AddOperation(),
new DelOperation(),
new DisplayOperation()
};
}
@Override
public int menu() {
System.out.println();
System.out.println("hello " + this.userName + " 欢迎来到图书馆");
while(true) {
System.out.println("------------------------");
System.out.println("1.查找图书");
System.out.println("2.新增图书");
System.out.println("3.删除图书");
System.out.println("4.显示全部图书");
System.out.println("0.退出系统");
System.out.println("------------------------");
System.out.print("请输入你的操作:");
Scanner scanner = new Scanner(System.in);
int choice = scanner.nextInt();
//保证输入数字有效
if (choice > 4 || choice < 0) {
System.out.println("输入有误请重新输入。");
} else {
return choice;
}
}
}}
Copier après la connexion
NormalUser (utilisateur normal)package user;import operation.*;import java.util.Scanner;/** * User: gu'jiu * Date: 2022-05-18 * Time: 15:13 * Description:管理员 */public class AdminUser extends User{ public AdminUser(String userName) { super(userName); //管理员功能 this.iOperations = new IOperation[] { new ExitOperation(), new FindOperation(), new AddOperation(), new DelOperation(), new DisplayOperation() }; } @Override public int menu() { System.out.println(); System.out.println("hello " + this.userName + " 欢迎来到图书馆"); while(true) { System.out.println("------------------------"); System.out.println("1.查找图书"); System.out.println("2.新增图书"); System.out.println("3.删除图书"); System.out.println("4.显示全部图书"); System.out.println("0.退出系统"); System.out.println("------------------------"); System.out.print("请输入你的操作:"); Scanner scanner = new Scanner(System.in); int choice = scanner.nextInt(); //保证输入数字有效 if (choice > 4 || choice < 0) { System.out.println("输入有误请重新输入。"); } else { return choice; } } }}
package user;import operation.*;import java.util.Scanner;/**
* User: gu'jiu
* Date: 2022-05-18
* Time: 15:13
* Description:学生
*/public class NormalUser extends User{
public NormalUser (String userName) {
super(userName);
//用户功能
this.iOperations = new IOperation[] {
new ExitOperation(),
new FindOperation(),
new BorrowOperation(),
new ReturnOperation(),
};
}
@Override
public int menu() {
System.out.println();
System.out.println("hello "+this.userName+" 欢迎来到图书馆");
while(true) {
System.out.println("------------------------");
System.out.println("1.查找图书");
System.out.println("2.借阅图书");
System.out.println("3.归还图书");
System.out.println("0.退出系统");
System.out.println("------------------------");
System.out.print("请输入你的操作:");
Scanner scanner = new Scanner(System.in);
int choice = scanner.nextInt();
//保证输入数字有效
if (choice > 3 || choice < 0) {
System.out.println("输入有误请重新输入。");
} else {
return choice;
}
}
}}
Copier après la connexion
package user;import operation.*;import java.util.Scanner;/** * User: gu'jiu * Date: 2022-05-18 * Time: 15:13 * Description:学生 */public class NormalUser extends User{ public NormalUser (String userName) { super(userName); //用户功能 this.iOperations = new IOperation[] { new ExitOperation(), new FindOperation(), new BorrowOperation(), new ReturnOperation(), }; } @Override public int menu() { System.out.println(); System.out.println("hello "+this.userName+" 欢迎来到图书馆"); while(true) { System.out.println("------------------------"); System.out.println("1.查找图书"); System.out.println("2.借阅图书"); System.out.println("3.归还图书"); System.out.println("0.退出系统"); System.out.println("------------------------"); System.out.print("请输入你的操作:"); Scanner scanner = new Scanner(System.in); int choice = scanner.nextInt(); //保证输入数字有效 if (choice > 3 || choice < 0) { System.out.println("输入有误请重新输入。"); } else { return choice; } } }}
Classe de test
import book.BookList;import user.AdminUser;import user.NormalUser;import user.User;import java.util.Scanner;/** * User: gu'jiu * Date: 2022-05-18 * Time: 15:20 * Description:图书管理系统 */public class Test { public static User login() { System.out.println("欢迎使用图书管理系统"); Scanner scanner = new Scanner(System.in); System.out.print("请输入您的姓名:"); String name = scanner.nextLine(); while(true){ System.out.println("-----------------------------"); System.out.println("请选择您的身份:1>管理员 2>普通用户"); System.out.print("请输入:"); int choice = scanner.nextInt(); //保证输入数字有效 if (choice == 1) { return new AdminUser(name); } else if (choice == 2) { return new NormalUser(name); } else { System.out.println("输入有误,请重新输入。"); } } } public static void main(String[] args) { BookList bookList = new BookList(); User user = login();//向上转型 while(true){ int choice = user.menu(); user.doOperation(choice, bookList); } }}
4 . Explication d'une partie du code (doOperation)
La méthode user.doOperation(choice, bookList);
dans la fonction principale est difficile à comprendre
1.user. peut faire référence à deux objetsuser.doOperation(choice, bookList);
中的doOperation
方法比较难理解,我们来解释一下
1.user.
引用的可能是两个对象
2.在实例化
这对象的时候,在构造方法中,我们已经将iOperations[]
准备好了。
3.根据输入下标
(例如:2)访问相应对象,再调用work
2. Lors de l'instanciation
de cet objet, dans le constructeur, nous avons déjà défini iOperations[]
Ready.
Subscript
(par exemple : 2) accède à l'objet correspondant, puis appelle la méthode work
. Apprentissage recommandé : "🎜Tutoriel vidéo Java🎜"🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide de la racine carrée en Java. Nous discutons ici du fonctionnement de Square Root en Java avec un exemple et son implémentation de code respectivement.

Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code.

Guide du générateur de nombres aléatoires en Java. Nous discutons ici des fonctions en Java avec des exemples et de deux générateurs différents avec d'autres exemples.

Guide du numéro Armstrong en Java. Nous discutons ici d'une introduction au numéro d'Armstrong en Java ainsi que d'une partie du code.

Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples.

Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est
