Compare commits

...

1 Commits

Author SHA1 Message Date
dichgrem
b03fcbeded style:fmt 2025-11-15 13:30:17 +08:00
11 changed files with 220 additions and 223 deletions

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,42 +1,37 @@
package com.study.demo3; package com.study.demo3;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.ArrayList;
public class Library { public class Library {
private Map<String, Book> books; private Map<String, Book> books;
public Library() { public Library() {
this.books = new HashMap<>(); 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()) {
public void addBook(Book b) { if (book.isAvailable()) {
String isbn = b.getIsbn(); availableBooks.add(book);
}
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;
} }
return availableBooks;
}
} }

View File

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

View File

@@ -1,34 +1,30 @@
package com.study.demo3; package com.study.demo3;
public class Main { public class Main {
public static void main(String[] args) { public static void main(String[] args) {
System.out.println("--- 测试 EBook ---"); System.out.println("--- 测试 EBook ---");
EBook ebook = new EBook("123-456", "Java Programming", 2.5); EBook ebook = new EBook("123-456", "Java Programming", 2.5);
System.out.println("EBook Status (Initial): " + ebook.toString()); System.out.println("EBook Status (Initial): " + ebook.toString());
ebook.setAvailable(false);
System.out.println("EBook Status (Borrowed): " + ebook.toString());
ebook.setAvailable(false); ebook.returnBook();
System.out.println("EBook Status (Borrowed): " + ebook.toString()); 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());
ebook.returnBook(); pbook.setAvailable(false);
System.out.println("EBook Status (After Return): " + ebook.toString()); System.out.println("PBook Status (Borrowed): " + pbook.toString());
pbook.returnBook();
System.out.println("\n--- 测试 PrintedBook ---"); System.out.println("PBook Status (After Return): " + pbook.toString());
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());
}
} }

View File

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

View File

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

View File

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

View File

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