Compare commits

...

2 Commits

Author SHA1 Message Date
dichgrem
b03fcbeded style:fmt 2025-11-15 13:30:17 +08:00
dichgrem
c20e8949a5 update:demo3 2025-11-14 15:36:43 +08:00
22 changed files with 307 additions and 0 deletions

Binary file not shown.

View File

@@ -0,0 +1,8 @@
package com.study.demo3;
public class Bicycle extends Vehicle {
@Override
public void start() {
System.out.println("The bike is started");
}
}

BIN
com/study/demo3/Book.class Normal file

Binary file not shown.

57
com/study/demo3/Book.java Normal file
View File

@@ -0,0 +1,57 @@
package com.study.demo3;
public class Book {
protected String isbn;
protected String title;
protected boolean available;
public Book() {
this.available = true;
}
public Book(String isbn, String title) {
this.isbn = isbn;
this.title = title;
this.available = true;
}
public Book(String isbn, String title, boolean available) {
this.isbn = isbn;
this.title = title;
this.available = available;
}
public String getIsbn() {
return isbn;
}
public void setIsbn(String isbn) {
this.isbn = isbn;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public boolean isAvailable() {
return available;
}
public void setAvailable(boolean available) {
this.available = available;
}
public void returnBook() {
if (!this.available) {
this.available = true;
System.out.println(
this.title + " (ISBN: " + this.isbn + ") has been returned and is now available.");
} else {
System.out.println(this.title + " (ISBN: " + this.isbn + ") is already available.");
}
}
}

BIN
com/study/demo3/Car.class Normal file

Binary file not shown.

8
com/study/demo3/Car.java Normal file
View File

@@ -0,0 +1,8 @@
package com.study.demo3;
public class Car extends Vehicle {
@Override
public void start() {
System.out.println("The car is started");
}
}

BIN
com/study/demo3/EBook.class Normal file

Binary file not shown.

View File

@@ -0,0 +1,35 @@
package com.study.demo3;
public class EBook extends Book {
private double fileSize;
public EBook() {
super();
}
public EBook(String isbn, String title, double fileSize) {
super(isbn, title);
this.fileSize = fileSize;
}
public double getFileSize() {
return fileSize;
}
public void setFileSize(double fileSize) {
this.fileSize = fileSize;
}
@Override
public String toString() {
return "EBook [ISBN="
+ isbn
+ ", Title="
+ title
+ ", FileSize="
+ fileSize
+ "MB, Available="
+ available
+ "]";
}
}

Binary file not shown.

View File

@@ -0,0 +1,37 @@
package com.study.demo3;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Library {
private Map<String, Book> books;
public Library() {
this.books = new HashMap<>();
}
public void addBook(Book b) {
String isbn = b.getIsbn();
if (books.containsKey(isbn)) {
System.out.println("The book already exists, adding it failed.");
} else {
books.put(isbn, b);
System.out.println("Book added successfully: " + b.getTitle());
}
}
public List<Book> searchAvailableBooks() {
List<Book> availableBooks = new ArrayList<>();
for (Book book : books.values()) {
if (book.isAvailable()) {
availableBooks.add(book);
}
}
return availableBooks;
}
}

Binary file not shown.

View File

@@ -0,0 +1,39 @@
package com.study.demo3;
import java.util.List;
public class LibraryTest {
public static void main(String[] args) {
Library lib = new Library();
EBook e1 = new EBook("E001", "Java Basics", 5.2);
e1.setAvailable(false);
PrintedBook p1 = new PrintedBook("P001", "Design Patterns", 3);
lib.addBook(e1);
lib.addBook(p1);
lib.addBook(p1);
System.out.println("\n--- 可借阅图书列表 (available = true) ---");
List<Book> availableList = lib.searchAvailableBooks();
if (availableList.isEmpty()) {
System.out.println("No books are currently available for loan.");
} else {
for (Book book : availableList) {
System.out.println("- " + book.getTitle() + " (ISBN: " + book.getIsbn() + ")");
}
}
e1.returnBook();
System.out.println("\n--- 恢复 e1 后可借阅图书列表 ---");
availableList = lib.searchAvailableBooks();
for (Book book : availableList) {
System.out.println("- " + book.getTitle() + " (ISBN: " + book.getIsbn() + ")");
}
}
}

BIN
com/study/demo3/Main2.class Normal file

Binary file not shown.

View File

@@ -0,0 +1,30 @@
package com.study.demo3;
public class Main {
public static void main(String[] args) {
System.out.println("--- 测试 EBook ---");
EBook ebook = new EBook("123-456", "Java Programming", 2.5);
System.out.println("EBook Status (Initial): " + ebook.toString());
ebook.setAvailable(false);
System.out.println("EBook Status (Borrowed): " + ebook.toString());
ebook.returnBook();
System.out.println("EBook Status (After Return): " + ebook.toString());
System.out.println("\n--- 测试 PrintedBook ---");
PrintedBook pbook = new PrintedBook();
pbook.setIsbn("789-012");
pbook.setTitle("Python Guide");
pbook.setStock(10);
System.out.println("PBook Status (Initial): " + pbook.toString());
pbook.setAvailable(false);
System.out.println("PBook Status (Borrowed): " + pbook.toString());
pbook.returnBook();
System.out.println("PBook Status (After Return): " + pbook.toString());
}
}

Binary file not shown.

View File

@@ -0,0 +1,35 @@
package com.study.demo3;
public class PrintedBook extends Book {
private int stock;
public PrintedBook() {
super();
}
public PrintedBook(String isbn, String title, int stock) {
super(isbn, title);
this.stock = stock;
}
public int getStock() {
return stock;
}
public void setStock(int stock) {
this.stock = stock;
}
@Override
public String toString() {
return "PrintedBook [ISBN="
+ isbn
+ ", Title="
+ title
+ ", Stock="
+ stock
+ ", Available="
+ available
+ "]";
}
}

Binary file not shown.

View File

@@ -0,0 +1,29 @@
package com.study.demo3;
import java.util.*;
public class StudentManager {
public static void main(String[] args) {
List<String> studentNames = new ArrayList<>();
Map<String, Integer> studentScores = new HashMap<>();
studentNames.add("张三");
studentNames.add("李四");
studentNames.add("王五");
studentScores.put("张三", 85);
studentScores.put("李四", 77);
studentScores.put("王五", 99);
System.out.println("--- 所有学生姓名 ---");
for (String name : studentNames) {
System.out.println(name);
}
studentScores.put("张三", 70);
Integer zhangsanScore = studentScores.get("张三");
System.out.println("\n--- 修改后张三的成绩 ---");
System.out.println("张三的成绩: " + zhangsanScore);
}
}

BIN
com/study/demo3/Train.class Normal file

Binary file not shown.

View File

@@ -0,0 +1,8 @@
package com.study.demo3;
public class Train extends Vehicle {
@Override
public void start() {
System.out.println("The train is started");
}
}

Binary file not shown.

View File

@@ -0,0 +1,21 @@
package com.study.demo3;
public class Vehicle {
protected String name;
public Vehicle(String name) {
this.name = name;
}
public Vehicle() {
this.name = "Unknown Vehicle";
}
public void start() {
System.out.println("Vehicle Start");
}
public void stop() {
System.out.println("Vehicle Stop");
}
}