修改Lesson1练习题
This commit is contained in:
@@ -2,84 +2,201 @@
|
|||||||
|
|
||||||
namespace Lesson1_ArrayList练习题
|
namespace Lesson1_ArrayList练习题
|
||||||
{
|
{
|
||||||
|
//class Backpack
|
||||||
|
//{
|
||||||
|
// ArrayList stuff;
|
||||||
|
// int money;
|
||||||
|
// public Backpack()
|
||||||
|
// {
|
||||||
|
// money = 0;
|
||||||
|
// stuff = new ArrayList();
|
||||||
|
// }
|
||||||
|
// public Backpack(int money)
|
||||||
|
// {
|
||||||
|
// stuff = new ArrayList();
|
||||||
|
// this.money = money;
|
||||||
|
// }
|
||||||
|
// public void ShowBackPack()
|
||||||
|
// {
|
||||||
|
// Console.WriteLine("背包物品有:");
|
||||||
|
// for (int i = 0; i < stuff.Count; i++)
|
||||||
|
// {
|
||||||
|
// if (i + 1 != stuff.Count)
|
||||||
|
// {
|
||||||
|
// Console.Write(stuff[i] + "、");
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// Console.WriteLine(stuff[i]);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// public void BuyStuff(Object obj,int cost)
|
||||||
|
// {
|
||||||
|
// if(cost > money)
|
||||||
|
// {
|
||||||
|
// Console.WriteLine("余额不足");
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// stuff.Add(obj);
|
||||||
|
// money -= cost;
|
||||||
|
// Console.WriteLine("成功购买物品:" + obj);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// public void SoldStuff(object obj,int earned)
|
||||||
|
// {
|
||||||
|
// if (stuff.Contains(obj))
|
||||||
|
// {
|
||||||
|
// stuff.Remove(obj);
|
||||||
|
// money += earned;
|
||||||
|
// Console.WriteLine("成功出售物品:" + obj);
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// Console.WriteLine("没有该物品,无法出售:" + obj);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// public void ShowMoney()
|
||||||
|
// {
|
||||||
|
// Console.WriteLine("当前余额:" + money);
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
//class Program
|
||||||
|
//{
|
||||||
|
// static void Main(string[] args)
|
||||||
|
// {
|
||||||
|
// Backpack b1= new Backpack();
|
||||||
|
// Backpack b2 = new Backpack(100);
|
||||||
|
// b1.ShowBackPack();
|
||||||
|
// b2.ShowBackPack();
|
||||||
|
// b1.BuyStuff("sth1", 50);
|
||||||
|
// b2.BuyStuff("sth2", 50);
|
||||||
|
// b1.ShowBackPack();
|
||||||
|
// b2.ShowBackPack();
|
||||||
|
// b1.SoldStuff("sth1", 25);
|
||||||
|
// b2.SoldStuff("sth2", 25);
|
||||||
|
// b1.ShowBackPack();
|
||||||
|
// b2.ShowBackPack();
|
||||||
|
// b1.ShowMoney();
|
||||||
|
// b2.ShowMoney();
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
|
||||||
|
//狗屎一坨↑
|
||||||
|
|
||||||
class Backpack
|
class Backpack
|
||||||
{
|
{
|
||||||
ArrayList stuff;
|
private int money;
|
||||||
int money;
|
private ArrayList Items;
|
||||||
public Backpack()
|
|
||||||
{
|
|
||||||
money = 0;
|
|
||||||
stuff = new ArrayList();
|
|
||||||
}
|
|
||||||
public Backpack(int money)
|
public Backpack(int money)
|
||||||
{
|
{
|
||||||
stuff = new ArrayList();
|
|
||||||
this.money = money;
|
this.money = money;
|
||||||
|
Items = new ArrayList();
|
||||||
}
|
}
|
||||||
public void ShowBackPack()
|
public void SellItem(Item item)
|
||||||
{
|
{
|
||||||
Console.WriteLine("背包物品有:");
|
for(int i = 0; i < Items.Count; i++)
|
||||||
for (int i = 0; i < stuff.Count; i++)
|
|
||||||
{
|
{
|
||||||
if (i + 1 != stuff.Count)
|
//if (Items[i].Equals(item))//不能用Items[i]==item判断
|
||||||
|
//{
|
||||||
|
|
||||||
|
//}
|
||||||
|
int num = 0;//实际卖出的数量
|
||||||
|
if ((Items[i] as Item).id == item.id)
|
||||||
{
|
{
|
||||||
Console.Write(stuff[i] + "、");
|
//两种情况
|
||||||
|
//1.数量够卖
|
||||||
|
if((Items[i] as Item).num > item.num)
|
||||||
|
{
|
||||||
|
num = item.num;
|
||||||
|
}
|
||||||
|
else//2.数量不够卖
|
||||||
|
{
|
||||||
|
num = (Items[i] as Item).num;
|
||||||
|
}
|
||||||
|
int sellmoney = (int)(num * item.value * 0.8f);
|
||||||
|
this.money += sellmoney;
|
||||||
|
Console.WriteLine("卖了" + sellmoney);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void BuyItem(Item item)
|
||||||
|
{
|
||||||
|
if (item.value*item.num > money)
|
||||||
|
{
|
||||||
|
Console.WriteLine("余额不足,无法购买物品:" + item.name);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
money -= item.value * item.num;
|
||||||
|
for (int i = 0; i < Items.Count; i++)
|
||||||
|
{
|
||||||
|
if((Items[i] as Item).id == item.id)
|
||||||
|
{
|
||||||
|
//叠加数量
|
||||||
|
(Items[i] as Item).num += item.num;
|
||||||
|
return;//结束方法
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Console.WriteLine("买了{0}个{1}花了{2}",item.num, item.name ,item.value * item.num);
|
||||||
|
////不叠加数量的写法
|
||||||
|
Items.Add(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ShowItems()
|
||||||
|
{
|
||||||
|
Console.Write("背包中有物品:");
|
||||||
|
for (int i = 0; i < Items.Count; i++)
|
||||||
|
{
|
||||||
|
if (i + 1 != Items.Count)
|
||||||
|
{
|
||||||
|
Console.Write((Items[i] as Item).name + "、");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Console.WriteLine(stuff[i]);
|
Console.WriteLine((Items[i] as Item).name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Console.WriteLine("剩余"+money+"元");
|
||||||
}
|
}
|
||||||
public void BuyStuff(Object obj,int cost)
|
}
|
||||||
|
class Item
|
||||||
|
{
|
||||||
|
//物品ID
|
||||||
|
public int id;
|
||||||
|
//物品价值
|
||||||
|
public int value;
|
||||||
|
//物品名字
|
||||||
|
public string name;
|
||||||
|
//物品数量
|
||||||
|
public int num;
|
||||||
|
public Item(int id,int value,string name,int num)
|
||||||
{
|
{
|
||||||
if(cost > money)
|
this.id = id;
|
||||||
{
|
this.value = value;
|
||||||
Console.WriteLine("余额不足");
|
this.name = name;
|
||||||
}
|
this.num = num;
|
||||||
else
|
|
||||||
{
|
|
||||||
stuff.Add(obj);
|
|
||||||
money -= cost;
|
|
||||||
Console.WriteLine("成功购买物品:" + obj);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public void SoldStuff(object obj,int earned)
|
|
||||||
{
|
|
||||||
if (stuff.Contains(obj))
|
|
||||||
{
|
|
||||||
stuff.Remove(obj);
|
|
||||||
money += earned;
|
|
||||||
Console.WriteLine("成功出售物品:" + obj);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Console.WriteLine("没有该物品,无法出售:" + obj);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public void ShowMoney()
|
|
||||||
{
|
|
||||||
Console.WriteLine("当前余额:" + money);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
class Program
|
class Program
|
||||||
{
|
{
|
||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
Backpack b1= new Backpack();
|
Item i1 = new Item(1, 10, "物品1", 1);
|
||||||
Backpack b2 = new Backpack(100);
|
Item i2 = new Item(2, 20, "物品2", 2);
|
||||||
b1.ShowBackPack();
|
Item i3 = new Item(1, 1000, "物品3", 1);
|
||||||
b2.ShowBackPack();
|
Backpack backpack = new Backpack(100);
|
||||||
b1.BuyStuff("sth1", 50);
|
backpack.ShowItems();
|
||||||
b2.BuyStuff("sth2", 50);
|
backpack.BuyItem(i1);
|
||||||
b1.ShowBackPack();
|
backpack.BuyItem(i2);
|
||||||
b2.ShowBackPack();
|
backpack.BuyItem(i3);
|
||||||
b1.SoldStuff("sth1", 25);
|
backpack.ShowItems();
|
||||||
b2.SoldStuff("sth2", 25);
|
backpack.SellItem(i1);
|
||||||
b1.ShowBackPack();
|
backpack.ShowItems();
|
||||||
b2.ShowBackPack();
|
|
||||||
b1.ShowMoney();
|
|
||||||
b2.ShowMoney();
|
|
||||||
}
|
}
|
||||||
|
//这才是真正牛逼Class的代码
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user