当前位置:编程学习 > C#/ASP.NET >>

高分求答案……

 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);
--------------------编程问答--------------------
引用 4 楼 lexiaoyao20 的回复:
public class BookManager

{
   
private static bookManager;
   
public IList<Book> bookList = new List<book>();
   
 

private BookManager(){}
   

public Boo
kManager GetInstance()
{
……

这楼的就行吧
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,