C# 当程序';满了吗? string[,]Arr=新字符串[4,5]{{“1A”、“2A”、“3A”、“4A”、“5A”}, {“1B”、“2B”、“3B”、“4B”、“5B”}, {“1C”、“2C”、“3C”、“4C”、“5C”}, {“1D”、“2D”、“3D”、“4D”、“5D”}; 控制台。WriteLine(“可用座位列表”); Console.WriteLine(); 对于(int j=0;j
如果您需要“快速且脏”的解决方案,那么将C# 当程序';满了吗? string[,]Arr=新字符串[4,5]{{“1A”、“2A”、“3A”、“4A”、“5A”}, {“1B”、“2B”、“3B”、“4B”、“5B”}, {“1C”、“2C”、“3C”、“4C”、“5C”}, {“1D”、“2D”、“3D”、“4D”、“5D”}; 控制台。WriteLine(“可用座位列表”); Console.WriteLine(); 对于(int j=0;j,c#,C#,如果您需要“快速且脏”的解决方案,那么将fullyBooked变量声明移到main for循环之外,并将for循环的声明从for(int j=0;j
fullyBooked
变量声明移到main for循环之外,并将for循环的声明从for(int j=0;j
string[,] Arr = new string[4, 5]{{"1A" , " 2A" , " 3A" , " 4A" , " 5A"},
{"1B" , " 2B" , " 3B" , " 4B" , " 5B"},
{"1C" , " 2C" , " 3C" , " 4C" , " 5C"},
{"1D" , " 2D" , " 3D" , " 4D" , " 5D"}};
Console.WriteLine("List of availabe seats.");
Console.WriteLine();
for (int j = 0; j < Arr.Length; j++)
{
for (int i = 0; i < Arr.GetLength(0); i++)
{
for (int k = 0; k < Arr.GetLength(1); k++)
{
Console.Write(Arr[i, k]);
}
Console.WriteLine();
}
Console.WriteLine("Enter your seat: ");
Console.WriteLine("---------------- ");
string textToReplace = Console.ReadLine().ToLowerInvariant();
bool isFullyBooked = true;
bool isSeatTaken = true;
for (int row = Arr.GetLowerBound(0); row <= Arr.GetUpperBound(0); ++row)
{
for (int column = Arr.GetLowerBound(1); column <= Arr.GetUpperBound(1); ++column)
{
if (Arr[row, column].ToLowerInvariant().Contains(textToReplace))
{
Arr[row, column] = " X ";
isSeatTaken = false;
}
if (!Arr[row, column].Contains(" X "))
{
isFullyBooked = false;
}
}
}
if (isFullyBooked)
{
Console.WriteLine("Fully Booked");
Console.WriteLine("----------------");
}
if (isSeatTaken)
{
Console.WriteLine("Already Taken");
Console.WriteLine("----------------");
}
}
所以你的主循环将一直运行,直到所有的座位都被预订
但又是非常“快速和肮脏”的修复,考虑重构您的实现,因为它看起来不太好。(我想这里有点偏离主题,并且要服从)
分解您的实现:让<代码> Arr <代码>成为私有字段,添加属性或方法<代码>已被预订的以及<代码> ISSEATPATION(String Sead)
…也要使Arr成为座位[,]
或列表
(即制作您自己的座位等级)@Sayse:我宁愿使用字典Arr
:如果座位有人或有人坐,键是座位和值not@DmitryBychenko-我的问题是,如果两个座位的座位号相同,它就会中断(例如1A
位于较低层和阳台上)
bool isFullyBooked = false;
while (!isFullyBooked)
{
// rest of your code, but change bool isFullyBooked = true;
// to simply isFullyBooked = true; without declaration, only assignment
// because it was declared earlier