我的计划工作流程:
1)显示菜单
2)通过开关捕捉选项
2.1)将float添加到列表中
2.2)增加int1
2.3)增量int2
2.4)显示输入
现在我想添加一个发生器,它将在控制台中打印我的光纤轨道的样子。例如:
1)增加了20公里长的部分
2)在最新版本中添加了焊接
3)添加了再生器
4)添加了连接器
5)增加了10km长度的部分
我想进入我的控制台:
这就是你的曲目的样子: [发射机] - GT; [--20km track--] - > [焊接] - > [再生器] - > [连接器]> - > [--10km轨道 - ]
第一个问题是我应该创建什么样的List来处理我的轨道设计?我只想制作一个整数列表,并制作一个编码方法,将例如1转换为第2节,用于连接器等的焊接3。
任何建议都会很好!感谢您的时间和耐心。
public class Program
{
public int WeldCount;
public int ConnectroCount;
public List<float> section = new List<float>();
//public List<> TrackElements = new List<>();
public Program()
{
section.Add(0);
}
public void showResults()
{
float allSections = 0;
foreach (float item in section)
{
allSections += item;
}
Console.Clear();
Console.WriteLine("Weld count: {0}, connector count: {1}, sum of sections: {2}", WeldCount,ConnectroCount,allSections);
Console.ReadKey();
}
public void finalConstruction()
{
}
public static void mainMenu()
{
Console.Clear();
Console.WriteLine("\n");
Console.WriteLine("Add: \n1. Section \n2. Weld \n3. Regenerator\n4. Show results");
}
public void menuChoose()
{
var key = Console.ReadKey();
switch (key.Key)
{
case ConsoleKey.D1:
case ConsoleKey.NumPad1:
Console.Clear();
Console.WriteLine("Give lenght:");
float result;
float.TryParse(Console.ReadLine(), out result);
section.Add(result);
mainMenu();
menuChoose();
break;
case ConsoleKey.D2:
WeldCount++;
mainMenu();
menuChoose();
break;
case ConsoleKey.D3:
ConnectroCount++;
mainMenu();
menuChoose();
break;
case ConsoleKey.D4:
showResults();
mainMenu();
menuChoose();
break;
default:
Console.WriteLine("Coś ty odjebał");
break;
}
}
static void Main(string[] args)
{
Program program = new Program();
mainMenu();
program.menuChoose();
}
}
答案 0 :(得分:0)
创建List<string>
。这样您就可以添加变送器,焊机和轨道,然后进行打印。
答案 1 :(得分:0)
如果您熟悉使用类,我首先要创建一个Track类。 拥有浮动列表的问题是,您无法确定它们的输入顺序,那么如何将特定长度映射到特定轨道?
这是您的Track类的简单程度:
public class Track
{
public string Name;
public float Length;
}
在您的mainMenu中,您可以通过以下方式添加新曲目:
Track t = new Track();
t.Name = "Welding";
t.Length = 4.5f;
trackElements.Add(t);
只需显示如下:
public void showResults()
{
foreach(Track item in trackElements)
{
Console.WriteLine(item.Name + ": " + item.Length);
}
Console.WriteLine("Number of sections: " + trackElements.Count());
Console.ReadKey();
}