高分求答案……
class Exam01{
static void Main(string[] args)
{
Books bookStore = new Books();
bookStore.AddBook(new Book("xxxxxxx", 10001));
bookStore.AddBook(new Book("xxxxxxx", 10002));
bookStore.AddBook(new Book("xxxxxxx", 10003));
bookStore.AddBook(new Book("xxxxxxx", 10004));
Console.WriteLine("You have {0} in the store :\n ", bookStore.BookCount);
foreach (Book b in bookStore.al)
{
Console.WriteLine("PBSN:{0}", b.getID);
Console.WriteLine("Book Name:{0}", b.getName);
}
Console.WriteLine("You remove second book in the store\n");
bookStore.RemoveBook(2);
Console.WriteLine("You have {0} in the store :\n ", bookStore.BookCount);
foreach (Book b in bookStore.al)
{
Console.WriteLine("PBSN:{0}", b.getID);
Console.WriteLine("Book Name:{0}", b.getName);
}
Book temp = new Book("xxxxx", b.getID);
bookStore.AddBook(temp);
if (bookStore.BookIsPresent(temp))
{
Console.WriteLine("{0} is already in the store.", temp.getName);
}
Console.WriteLine("\n Remove all books in the store.\n");
bookStore.ClearAllbooks();
Console.WriteLine("You have {0} in the store :\n ", bookStore.BookCount);
}
}
}
求封装方法。。。小白求助 --------------------编程问答-------------------- 你想封装什么方法? --------------------编程问答-------------------- 这里面的AddBook Bookremove --------------------编程问答-------------------- 看看书! --------------------编程问答-------------------- public class BookManager
{
private static bookManager;
public IList<Book> bookList = new List<book>();
private BookManager(){}
public Boo
kManager GetInstance()
{
if(bookManager == null)
bookManager = new BookManager();
return bookManager;
}
public void AddBook(Book book)
{
bookList.Add(book);
}
public void DeleteBook(Book book)
{
if(bookList.Contains(book))
bookList.Remove(book)
else
throw new Exception("Can't find book:" + book.Name);
}
}
增加一本书: BookManager.GetInstance().Add(book);
删除一本书:BookManager.GetInstance().DeleteBook(book);
输出所有的书
foreach(Book book in BookManager.GetInstance().bookList)
{
Console.WriteLine(book.Name);
} --------------------编程问答-------------------- 随手写的,没调试的,可能会有点错误,楼主仔细看看 --------------------编程问答--------------------
--------------------编程问答--------------------
// 重载 Book 类的 ToString 方法,返回所需信息,替换下面两行
// Console.WriteLine("PBSN:{0}", b.getID);
// Console.WriteLine("Book Name:{0}", b.getName);
public override string ToString()
{
return String.Format("PBSN:{0}{1}Book Name:{2}", getID, getName);
}
// 新的调用:Console.WriteLine(b);
// 接着,重载 BookStore 的 ToString 方法。
public override string ToString()
{
foreach (var book in al)
{
Console.WriteLine(book);
}
}
// 方法名的修改
// BookIsPresent(Book b) 改为 HasBook(Book b)
// 其它的代码不属于 BookStore 逻辑上的封装范围。
--------------------编程问答--------------------
// 不好意思,BookStore 的 ToString 实现有误
public override string ToString()
{
StringBuilder sb = new StringBuilder();
foreach (var book in al)
{
sb.AppendLine(book.ToString());
}
return sb.ToString();
}
// 外层的循环输出改为:Console.WriteLine(bookStore);
这楼的就行吧
补充:.NET技术 , C#